I am very concerned by Drupal performance as it directly affects the productivity of people contributing to the content
(It is a Content Management System, isn't it?)
Beside "productivity", ie the time it takes to view, create or updtate content elements, reactivity is a key factor to keep contributor acting. A lazy system will discourge them to collaborate.
So I am mainly - only - interested in improving performance for logged in users. Drupal basic caching does not help.
This introduction is for explaining my furious search for decent performances, I mean getting a screen poping for normal contributions - < 1" - , fast enough for more demanding administrative tasks.
Having started on a shared hosting in US (I live in France), I was said that I should go for dedicated of VPS.
So I opted for dedicated-like (Real Private server, sharing iSCSCI drives), then fully dedicated,
In the meantime, I gave a try "high performance" shared hosting. I currently run the same web site on 3 different environments:
1) "Normal" Mutual hosting : www.bluehost.com (US, Kenosha)
2) Dedicated hoting: OVH 2XL http://www.kimsufi.com/ (FR, 200 Km) Intel E2180 64bits 2*2GHz, RAM 2GO
3) "High performance" shared hosting : www.simplehelix.com (US, LA)
All are Xcache enabled
Bellow the best results I get from these very different configurations, as reported by Yslow and Devel
Value (1) is for calling a new node creation, ie node/add/stoty
Value (2) is for calling the "Block" page admin/build/block/list
Value (3) is for calling the simplest page on the site: plain text, no views.
Value (4) is for calling the "Module list" page admin/build/modules/list
The database has 70K record, 12 Mb data, 141 tables. It is sane.
On the dedicated hosting, I tuned MySQL the best I could
Bluehost OVH Kimsufi SimpleHelix
(1) (2) (3) (4) (1) (2) (3) (4) (1) (2) (3) (4)
Yslow with/ devel S 3 3,5 2 10,8 2,5 4,3 2,2 7,5 2,4 3,5 1,8 6,8
Yslow with devel S 7 4 4,1 111* 5 4,2 3,7 54* 4,7 5,2 2,9 42*
# of queries 365 304 283 5831 609 560 522 6171 524 528 510 5329
Queries ms 140 121 101 2533 260 250 231 2463 164 180 139 1923
Page ms 900 1200 700 11019 1085 1175 992 6163 735 900 424 4872
Slowest query ms 31 4,3 4,3 69 2,7 2,65 2,7 49 4,3 4,3 4,3 69
Fastes query ms 0,1 0,1 0,1 0,1 0,16 0,13 0,15 0,16 0,06 0,05 0,05 0,05
Pricing/month 8$ 40$ 20$
Conclusions:
- whatever power is involved, Drupal is SLOOOOOOOOOOOOOOOW
- Dedicated hosting is REAAAALy cumbersome, for little improvement
1) How is it possible that Drupal processes so many queries (> always more than 500, somethimes 10*) - Is this normal?
2) Bluehost always reports less queries, sometimes 50% less. Where could this come from???
3) Are these numbers normal for Drupal, so I am simply exceptionnally demanding? (see introduction)
4) Should I try to increase the power, going to a 100$/month hosting for 4*3GHz /8Go to get acceptable performances?
5) I installed Cache Router, but never got it work, nor being able to to get any support. Could it improve things?
6) Any idea to improve this situation?
Thank you for sharing your opinion and giving any advice?
Comments
Improved numbers presentation
OK, no formatting at all... Hoping it is more readable now
Columns:
(1) node/add/stoty
(2) admin/build/block/list
(3) plain text, no views.
(4) admin/build/modules/list
Rows:
BH = Bluehost
OV = OVH
SH = SimpleHelix
Yslow with/ devel (Seconds)
____1____2___3____4
BH 03.0 03.5 02.0 10.8
OV 02.5 04.3 02.2 07.5
SH 02.4 03.5 01.8 06.8
Yslow with devel (Seconds)
___1____2___3____4
BH 07.0 04.0 04.1 111*
OV 05.0 04.2 03.7 054*
SH 04.7 05.2 02.9 042*
* Firefox breaks
Number of queries
___1___2___3___4
BH 365 304 283 5831
OV 609 560 522 6171
SH 524 528 510 5329
Total Queries ms
____1__2___3___4
BH 140 121 101 2533
OV 260 250 231 2463
SH 164 180 139 1923
Page ms
___1____2____3____4
BH 0900 1200 0700 11019
OV 1085 1175 0992 06163
SH 0735 0900 0424 04872
Slowest query ms
___1___2___3__4
BH 31.0 4.3 4.3 69
OV 02.7 2.6 2.7 49
SH 04.3 4.3 4.3 69
Fastest query ms
___1____2___3____4
BH 0,10 0,10 0,10 0,10
OV 0,16 0,13 0,15 0,16
SH 0,06 0,05 0,05 0,05
Pricing/month
BH 8$
OV 40$
SH 20$
JV
Unfortunately you pay for
Unfortunately you pay for the flexibility of Drupal by taking a small hit on performance - there are some great guys over in the high performance drupal group ( http://groups.drupal.org/high-performance ) who have plenty of tips for tuning.
I would question your tests though - there is no reason why the hosting environment should affect the number of queries, it looks to me like the Drupal installations on the different hosts where configured differently and hence the comparisons where not valid - not that it alters your main point (which is that Drupal is running slow), but it might help explain why your not seeing much improvement for your extra hosting cash :)
Mike,
Computerminds offer Drupal development, consulting and training
Mike,
Computerminds offer Drupal development, consulting and training
Yah
Those are about right for shared hosting. Also, judging by the time on admin/build/modules (generally the slowest page in Drupal, btw) you've got a lot of contribs installed also.
Look into VPS if you need more power: having dedicated processor and RAM resources for your database and PHP are important for high-performance sites. Also, you need VPS or other dedicated resource to take advantage of opcode caching.
Also, think about disabling un-needed features. Every module you install slows things down a bit.
------
Personal: Outlandish Josh
Professional: Chapter Three
------
Personal: Outlandish Josh
Professional: Chapter Three
VPS will not do more
What the numbers show indeed is that a powerful dedicated server (better than VPS, dual core, 64bits, 2Go RAM) closer to my house (300 Kms vs 12000 Km) does not bring much compared to cheap shared hosting (Bluehost) and is even poorer in many cases than a high end shared hosting (SimpleHelix)
Yes, I have plenty of contributed modules. I will clean that up once my design is stabilized. But only acting features are enabled.
JV
Drupal caching, speed and performance
jvieille wrote:
>5) I installed Cache Router, but never got it work, nor being able to to get any support. Could it improve things?
Yes, or a combination of Boost (for non-logged in visitors) and Memcache (for logged in members). See the handbook page Drupal caching, speed and performance for a list of related resources.