views:

176

answers:

3

as the single user / developer on a drupal website im experience serious performance problems. several issues occur:

  • usually i develop drupal on our company dev server but now im at a client's office. the IT guys installed a VM with WAMP on the server they usually use for .net development. on the first day of dev (installing drupal, required modules and configuring them) httpd.exe would max out the cpu and loading any page would take minutes. IT guys just scratch their heads.

  • i then just installed WAMP on the local machine they gave me: some 299,99 Win XP Dell piece of sh*t, nevertheless a P4 2.8Ghz 2GB Ram. the fan blows so loud the entire office is giving me dirty looks. Again httpd.exe maxes out. again, any page (esp admin ones) takes minutes to load

  • in firefox, the views UI is completely unworkable. alot of stuff is loaded with ajax and it again takes minutes to see the various html elements dynamically inserted in the UI to appear - try to imagine this.

  • Chrome seems to handle the JS a bit better but it still takes way too long to complete any kind of action.

  • the devel_themer module ads tons of markup to the page which leads to "Allowed memory size of X exhausted" errors (memory_limit = 128MB ).

now im at the themeing stage where i need to do a LOT of page refreshes. I NEED firebug which requires firefox which in its turn eats up CPU and RAM. What usually takes seconds now takes minutes and by the time whatever action is completed, i forgot what i was doing. im basically reading news stories in between every page reload.

now, i know drupal is resource intensive but that its impossible to develop on a typical Dell / Win XP machine is a bit much, no? at home i work on an iMac and everything runs silky smooth.

i cant imagine im the only guy with this problem since what im doing is basically drupal 101 (no custom modules so far ...). unless someone can offer a solution, im concluding that you basically can not develop a typical drupal site on a normal home desktop computer.

what gives?

+1  A: 

So you have abandoned the VM,check you php.ini file for the memory limit, increase it and see if there is a performance boost. its usually set to a default of 16M.

HTH

Rishav Rastogi
changed to 256, seems to make a small difference
stef
+1  A: 

I'd suggest you either make sure to spend some time actually tuning your XP system, because the default WAMP config is definitely suboptimal, or consider an alternative, like Zend Server community edition (ZCE). Although not completely free as in speech, it is free as in beer, and simply builds up on top of a better default config for Apache and MySQL.

Although less convenient than WAMP or ZCE since not bundled, a manual install of Apache 2.2 is also usually a good choice.

Also note that, that the way devel_themer works, it is constantly building files in your temp directory, meaning that unless that directory is cleaned regularly, files will accumulate and directory browses will become exceedingly slow. Only a cron.php run will cause drupal to clean those files, for an up-to-date version of devel. See my patch adding this cleanup at http://drupal.org/node/303443

Finally, you mention Firebug, and you might be using the Drupal for Firebug module, which has known performance issues, apparently related to infinite recursion in some cases; although recent versions are supposed to fix this problem. See for instance http://drupal.org/node/303443

FGM
thanks for your comments. ZCE isnt an option, unless the client wants to pay for it. cron runs regularly, drupal for firebug isnt being used
stef
ZCE actually looks really nice, will check it out
stef
stef: ZCE comes at zero cost. The pay-for version is Zend Server, not ZCE. :-)
FGM
A: 

A couple things I've run into that could potentially help.

  1. Unless you actually need it, turn off Locale. It causes a ton of extra queries (at least the last time I looked into it, this may have changed) so if you're not using it then don't put the unnecessary load on your DB.
  2. Just like on a regular development machine, make sure MySQL is properly tuned and configured. This goes for any setup; local, development or production. 3/4 of the time the database is the bottleneck so start there.
  3. If you've got the devel module installed and enabled it should have a query log you can tell it to output at the bottom of the page, this should help you with number 2.
Steven Surowiec
locale isnt used. tuning mysql - seriously? i understand it may be required but DONT understand how an open source cms would require me "tuning mysql" (no idea how), just to be able to develop the site. i will def check the query log, had not done so.
stef
Many of the default MySQL values are quite low so depending on what your data is like and what modules you have running it's possible you may need to tweak some of the default values a bit. It's not uncommon.
Steven Surowiec