Tuning file system performance for Plone development

Posted on October 24, 2007  by Mikko Ohtamaa
Filed Under Plone, ubuntu, zope

I recently read this article about tuning Ext3 file system for better performance. I was doing a fresh Ubuntu 7.10 install on my laptop, so I decided to see how much this would affect to my every day Plone development.

On Linux, every time a file is read, its access time attribute is rewritten. This causes a lot of unnecessary writes to file system. Since there are only few rare application needing this feature, turning of the feature can give a nice performance boost on systems dealing with large amount of files.

Plone 3.0 has 10000 files. A lot of them are read during the start-up. Maybe I am getting somewhere here…

When you are doing Plone development, you need to restart Plone often. I used this highly scientific method to measure Plone start-up time from issuing zopectl fg to getting the front page load completed in Firefox. I warmed the file system cache beforehand by doing two dry runs.

I also did some simple front page bombing with ab tool.

System setup

  • HP nx9420 laptop (5400 RPM hard disk)
  • Plone 3.0.2/Zope 2.10.4
  • Intel Core 2 Duo, 2 Ghz
  • Ubuntu 7.10
  • Applied following Ext3 options: noatime, data=writeback

Out-of-the-box filesystem

Lap 1: 23s

Lap 2: 22s

Lap 3: 22s

ab stats:

Concurrency Level: 10
Time taken for tests: 11.805239 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 2058700 bytes
HTML transferred: 2030600 bytes
Requests per second: 8.47 [#/sec] (mean)

Tuned file system

Lap 1: 21s

Lap 2: 22s

Lap 3: Didn’t bother to do it…

ab stats:

Concurrency Level: 10
Time taken for tests: 12.102054 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 2058700 bytes
HTML transferred: 2030600 bytes
Requests per second: 8.26 [#/sec] (mean)

Conclusion

“Hooray.”

Though Plone/Zope crawls through of thousands of files during the start up (and thus touches their access times), the slow start-up process seem to be CPU bound. Magic file system tricks won’t make your everyday Plone development more effective.Share This

 

Other posts by Mikko Ohtamaa

 

Comments

3 Responses to “Tuning file system performance for Plone development”

  1. Geir Bækholt on October 24th, 2007 9:49 am
    Gravatar

    Your link to the stopwatch script has some missing punctuation, and ends up broken.

    thanks :)

     
  2. Alexander Limi on October 24th, 2007 11:02 am
    Gravatar

    On the other hand, Hanno has just done some improvements to Plone startup in Plone and Zope trunk.

    When he started, Plone took 16 seconds to start on his laptop. By utilizing lazy loading of translations and template files, he shaved off more than half the startup time, and it now starts in 7 seconds. And that’s before the performance sprint has even started. ;)

    Looks like Plone 3.1 will have impressive startup time.

     
  3. Pádraig Brady on October 24th, 2007 1:16 pm
    Gravatar

    The links in this article have an extraneous http//

    cheers

     

Leave a Reply




Copyright © Red Innovation Ltd. 2008 All Rights Reserved. | Log in | XHTML
Close
E-mail It