Drupal性能测试

zealy 在 周一, 2004-09-13 14:38 提交      Drupal技术

  网站建立以后,记录一下Drupal的性能测试数据:

  方案一(当前方案,这两天改用的,大家有没有觉得快了好多的感觉?):

  数据库服务器:DELL2640机架式服务器 双路超线程至强P4 2.4G 533M外频,内存512M ECC,15K转速 36G SCSI320 硬盘,Mysql 4.0.18;

  应用服务器:P4 2.4G 内存768M,西部数据8M缓存7200转ATA硬盘,Apache 2.0.50 + php 4.3.8 + Drupal 4.4.0核心。

  方案二:

  PIII 800EB 双路,18G 10K转速 SCSI160 硬盘,内存768M。软件都跑在这部计算机上。

  Drupal内置Cache机制,避免每次访问页面进行大量的数据库访问和PHP脚本计算。虽然Drupal只对登录用户匿名用户使用Cache,这样,匿名用户访问页面时,某些数据不会是即时更新的正确数据,如当前在线,用户登录后就不使用Cache机制,最多只需刷新一下页面即可看到正确的最新内容。

  当不使用Drupal的Cache机制:

  方案一:在50用户并发访问首页时能够正确地响应,首字节到达客户端时间最快为10秒,平均23秒完成  首页下载。超过此并发数字后性能急剧下降。

  方案二:在50用户并发访问首页时性能急剧下降,客户端基本超时,在Web服务器由Apache 改为 IIS 6后(晕,但确实是这样),首页能够响应,首字节到达客户端时间最快为44秒,平均95秒完成首页下载。

  前一阵子本站没有使用Cache机制,所以打开Cache机制又测试了一下:

  目前使用的方案一配置下,在150用户并发访问首页时能够正确地响应,首字节到达客户端时间最快为5秒,平均15秒完成首页下载,超过此并发数字后性能急剧下降。

  结论:打开Drupal的Cache机制后响应速度至少可以提高1倍,能够支持的并发用户数可以提高3倍。这样看来,我们还是打开Cache机制的好,虽然“在线统计”在匿名用户下没有正确的工作,但对其他页面内容和登录用户却没有什么影响。

  测试中的发现:Drupal将大量的进行数据库运算,因此数据库服务器CPU一定要够强、硬盘一定要快,150-200用户并发访问时无Cache方式双P4至强CPU保持使用率在70%左右;对windows下Apache服务器来说,并发访问时消耗内存非常厉害,完全是非线性的增长,估计没有2G不能应付一个中等繁忙的网站——不知道FreeBSD或者Linux下的Apche是否要省点?谁能告诉我?不过也可能是PHP的原因,在IIS 6 下跑PHP的时候,内存消耗也比较厉害,比Apache能好上一点点。感觉PHP在同等硬件的负荷能力上比Java要逊色嘛。

  奇怪的是,感觉双路PIII的性能还可以,这样子跑一个访问量1000IP/天左右的网站估计刚好够,再多肯定是不成的啦。

  希望大家不要笑我的硬件差,呵呵。你的支持就是我前进的动力。

此内容的Trackback地址:

http://blogme.cn/trackback/508

十年、十年又十年 | 打印版本 | 已被阅读7077次


andrew | 周二, 2004-09-14 09:50

支持zealy

辛苦了! 谢谢zealy为大家提供这么好的平台


用心总会有发现,让用心成为习惯


GooHome (没有被验证) | 周三, 2004-11-10 11:06

感觉双路PIII的性能还

感觉双路PIII的性能还可以,这样子跑一个访问量1000IP/天左右的网站估计刚好够,再多肯定是不成的啦。

不是很明白。今天我路过这里,我没有优化的情况下。 我的服务器很差,每天也能抗住2w+ip/每天? 而且还有bt tracker 上有 3w~5w peers

系统是Linux+zeus

如果有兴趣,可以与我联系 互相学习。


zealy | 周四, 2004-11-11 09:28

主要是我没有写我的

主要是我没有写我的性能标准,不过你在测试里可以看得出来。我觉得页面响应时间多于20秒就较差了,多于30秒就不太能接受了。相信双路PIII的配置要抗2w ip/天也是可以的,但是肯定会有并发用户多的时候响应差的情况。我们的Blog站希望每个成员能够得到好的冲浪感受,如果没有良好的响应速度,这是重复客户难以接受的。

另外,Drupal的数据库查询量很大(甚至于这个页面上的许多字符串都是一一从数据库里Query出来的),这也是它设计上的特点(问题?)。如果按双路PIII在同一台机器上跑DB Server 和 App Server,确实有些受不了,这个你试试就知道了——我想你的网站不会是跑Drupal的,呵呵。网站的架构对性能的影响很大,不知道你的站点的情况,这里没法比较。再说Windows+Apache+php和Linux+zeus根本无法比,Windows+Apache+PHP在测试中还不如Windows+IIS+PHP呢。PHP的手册里还写着:“Do not use Apache 2.0.x and PHP in a production environment neither on Unix nor on Windows.”呵呵。我这里具体情况如此,没有办法啊,如果可能,我早就换成linux或者FreeBSD了。

单指Tracker,Bt tracker的情况与网站有很大的不同;我要有个Tracker的话,来100w用户我也不怕的(开玩笑哈)。BT客户端与Tracker的通信是无人值守式的,连接失败会自动重试,不然也不会BT下载站都注明,看见10061 “connection refused”错误不用管了。可是,一个网站要是这样,浏览的人可受不了,谁会不停的点刷新来重试呢?哈哈。

因为不太了解你的情况,大致写了这些,不妥之处,还望指正。不知道你有没有我这样的架构tuning的建议?

Drupal这东西,我真是又爱又恨。

——————我何处不去攀登——————


过客 | 周日, 2006-09-03 13:04

并发访问有时候并不

并发访问有时候并不代表实际的环境

只有在你的访问量非常大的时候,就应该考虑并发访问时的性能了.

这样很多时候就需要做CACHE优化的说


zealy | 周一, 2006-09-04 11:17

这个是很久以前的测

这个是很久以前的测试数据了,现在已完全不是这么回事了。So...关闭本贴的评论。


关于 zealy

zealy
zealy 的图片

用户登录

导航

zealy 的存档

« 三月 2010  
周一 周二 周三 周四 周五 周六 周日
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

zealy 的聚合

RSS 2.0
XML feed
ATOM 0.3
XML feed