我有这个专用服务器:
AMD皓龙1218 HE双核(2 x 2,6GHz)
4去RAM
2 x 400 Go软件RAID
我有一个网站stream量低,在这个服务器,150 <日常。
和另一个Facebook应用程序与高stream量50,000+每日紫外线。
我的Facebook应用程序有:1 SWF文件,几个arraysfunction的一些PHP文件和MySQL查询,我开始接受:来自MySQL的连接太多,我修好了,我想知道什么是最好的:Apache,PHP,MySQL这种stream量的configuration?
新的问题是Fb应用程序页面有时不加载。
顺便说一句,我使用的是Centos 5,Plesk 9.0.1,PHP + MySQL 5。
提前致谢。
你的数据库模式不是最优的? 即使60k紫外线对于这样的机器也不是很多…
我会做的是:
另外,你提到RAID,是RAID 1吗? 最后也可能是最差的,你可以增加my.cnf中的max_connections指令
这不完全是对你的问题的回应,但是对于高可伸缩性,我将使用nginx而不是Apache作为http服务器。
我对Apache服务器的响应时间非常糟糕:迁移到nginx解决了这个问题。
您可以执行特定的服务器来提供静态文件,这些文件必须configuration很长一段时间才能caching。
确保已经安装了sysstat,以便可以跟踪硬件指标。 我总是首先寻找硬件限制,尤其是磁盘IO和RAM耗尽。
在此之后,确保你有mysql缓慢的查询日志logging和正确configuration的Apache错误日志。
当页面加载失败时,你需要做些什么来重新开始呢?
我使用的另一种技术是创build一组页面:
只是文字“你好世界”
PHP信息页面
连接到数据库的PHP页面,包括定时function。
PHP页面连接到数据库,只需查询。
通过在事件发生期间对这些页面进行投票,我发现您可以快速地了解可能发生问题的位置。 能够消除PHP,MySQL,只关注apache是非常有用的。 如果PHP信息页面速度很快,但页面已closures,则可能是数据库或Web编程问题。
我做了很多性能调整,我发现通过采取一些小步骤可以开始解决这个问题。
另外,您可能需要安装一些服务器监控工具。 我最近发布了一个关于服务器监控的博客,但是不记得我能否把它链接到这里?