关于DreamHost的CPU时间及MYSQL问题
因为虽然之前已经对自己说blog是写给自己看得,别人看不看都无所谓,但今天看到ideaxp网友的评论后很受鼓励,觉得还是有必要继续写多一点关于Dreamhost的东西,让没买或想买的朋友多点了解DreamHost的主机性能和其他相关特性。
从11日写了 "DreamHost,不愿美梦太早醒“的文章后,最近的这几天我还是不断的和好友一起评测Dreamhost的各种功能,一起分享其中的喜悦,现把一些测试结果告诉大家:
1、CPU MINUTES
cpu 时间无非是大家所关注一个焦点问题,不过经过我们的测试,我们发现降低cpu的使用时间其实是有方法的。在购买空间后,我们看到了dreamhost的 cpu统计记录,发现他们对每个用户的操作记录都进行了详尽的记录,cpu时间就是从这份记录统计而来的。就像ideaxp网友问的,我们也非常想知道在哪种情况下的 cpu使用率最低,或者每天50-60分钟的CPU时间究竟是怎么一种状况,因此在测试前,我们就在空间上挂载了多个站点并以不同的php模式运行,其中的程序包括wordpress, gallery2,wiki和自己编写的代码,然后对各个程序进行页面访问。结果到了晚上11:47分(洛杉矶早上7:47)的时候,服务器生成了当天的 CPU报告,我们打开一看就会心的笑了,知道为什么吗?因为我们已经知道在mod_php模式下运行的php站点是通过dbapache用户进行运作的,因此没有计算cpu时间也计算不了时间。而使用php-cgi模式的站点(已经算是比较耗资源的gallery2,安装了好几个插件)大概每个页面的cpu时间是0.14秒左右,量化后就可以知道你的站点在规定的资源内一天大约可以有60(分)*60(秒)/0.14(秒)=25714个pageview。当然,你大可为你的站点设置成mod_php方式运行,不过由于安全性问题,dreamhost不会让你在mod_php下使用一些系统指令如exec()等,这将影响到一些程序的运行,如gallery2就一定要在cgi模式下运行,而wordpress则完全可以在mod下运行。因此如果你的站点是小型的blog或是自己编写而且没有涉及到系统指令(exec,system,dl,passthru,chown,shell_exec,popen,proc_open)的,大可以将其设置成mod_php模式运行,那如果想要使用cgi模式,很容易,把你的php后缀改为.pcgi就可以以php-cgi模式运行了。另外如果你还想在某些地方使用php5的特性的话可以在网站目录下建立一个.htaccess文件,然后写入AddType php5-cgi .xxx xxx为你想要的后缀名,这样子就可以随时调用php5的文件了。请注意:使用mod_php将会降低你网站的安全性,特别是储存密码的文件的安全性,它将允许其他用户搜索到你的文件并打开它,所以请慎重选择。
2、Mysql
在我上一篇文章中提到对dreamhost和bluehost,webhostingbuzz的mysql进行测试,结果是dreamhost的mysql运算速度是比其他两种主机的mysql慢了大约是5-8倍的。后来我又对它们进行测试,发现了一个更为严重的问题。由于dreamhost的mysql服务器独立于web服务器,所以每次读取数据都要远程连接到mysql服务器上。插入、更新、删除数据慢点无所谓(因为我测到读取数据的时间和bluehost他们的差不多),但要命的是网络连接消耗时间太厉害了。插入/更新/删除1000条记录,dreamhost平均消耗时间是0.3秒,
但三个步骤加起来的总耗时(加上网络连接)是4秒,bluehost平均消耗0.05秒,总耗时是0.2秒。看到没有,其实mysql数据库才是dreamhost的软肋来的。目前除了使用静态页面和尝试使用sqlite外没有其他解决办法。
我们对dreamhost进行测试目的在于研究这款主机的性能及功能,如果你的站点能够解决cpu时间的问题,Dreamhost确实是一款令人满意的主机,不过如果你的站点是个单站点的商业站点,我想成熟稳定的bluehost会让你更为放心。
March 19th, 2006 - 10:23
Hello你好~我从google知道你也购买了Dreamhost的空间,怎么样,用着还不错吧,我也是哦~
我这里为了方便大家,开通了一个phpmyfaq搭建的dreamhost使用和购买的faq系统,如果你在使用过程中有什么问题,可以先来看看哦~
当然同时也欢迎你总结你在使用中的一些问题的解决方法,发送给我们~
我们的网站地址是:http://faq.dreamhosters.com
~感谢光临哦~
March 19th, 2006 - 11:03
转载本站文章时请署名,谢谢!
March 20th, 2006 - 11:45
如果已经使用了cgi方式,如何改回来?
March 20th, 2006 - 12:03
进入控制面板
1.Domains->Manage Domains
2.选择你要修改的域名,在Web Hosting那一列选择Edit
3.确认只选择”Extra Web Security”,其他选项不要选.
4.按”Change fully hosted setting now”
5.搞定收工.
March 23rd, 2006 - 10:09
呵呵,“如果你的站点能够解决cpu时间的问题,Dreamhost确实是一款令人满意的主机”,这句话就是Dreamhost的精髓
March 25th, 2006 - 18:24
按照dreamhost wiki上的说法,似乎这只不过让显示的 cpu time 减少了,被没有解决问题。
You will see a drop in CPU usage once these changes go into effect. Please keep in mind that this is a false reading because your scripts are running as an Apache module now, and thus are reporting under Apache’s usage rather than your username. This is intended to help you pinpoint your problem script, not to “solve” your CPU usage issues.
http://wiki.dreamhost.com/index.php/CPU_Minutes_FAQ
难道他们还有别的内部 cpu 使用判据?:)
March 25th, 2006 - 19:07
之前没看清楚,但是系统如何统计出CPU时间?要知道dhapache同时为多个站点服务的哦.
上面那段话是DreamHost拿来唬人的嘛?
March 25th, 2006 - 22:48
桑葚,我觉得DreamHost那句话是说你可以用这样的方法来发现哪个程序出问题,虽然看到cpu时间下去了,但是并不是说已经解决由于某个程序的问题而引起的cpu负载过高这个问题.