服务器优化为ajax重Apache+Mysql+PHP网站


Server optimization for ajax-heavy Apache+Mysql+PHP site

我找了一下,还没有找到这个问题的现成答案。

<<h2>信息/h2>

我的网站依赖于Ajax, Apache, Mysql和PHP。

我已经建立了我的网站,它工作得很好,但是一旦太多的用户开始连接(当接收大约每秒200+请求时),服务器的性能就会很差。

这个网站非常依赖ajax。网站的主页每秒执行一个ajax请求,所以如果有100人在线,我每秒至少收到100个请求。

这些ajax查询调用服务器端的mysql查询。这些查询返回小数据集。返回的数据集会经常更改,所以我认为缓存是无效的。


1)什么配置实践可以最好地帮助我增加每秒最大请求数?这适用于Ajax, Mysql, PHP和Apache。

2)对于Apache,我想要持久连接(KeepAlive指令)是"开"还是"关"?据我所知,Off是有用的,如果你期待很多用户,但On是有用的ajax,我需要这两个东西。

3)当我测试服务器的性能,提供一个简单的,短的html页面没有ajax(只涉及一个小的mysql查询),它仍然表现很差,当这个页面得到200+请求每秒。我想这一定是由于apache配置/服务器资源。我有什么办法来改善这一点?

谢谢你的帮助!

根据用户的实际需要,可以采用不同的模式实现缓存。在许多情况下,用户并不是真的需要每秒更新,或者他们可以缓存更长的时间,只是让它看起来更新很多。这取决于…

只是给一些想法:

    是否每个用户都需要从ajax请求中获得真正独特的,用户特定的响应,或者它与所有用户或子用户组相同或相似?
  1. 为每个用户设置每秒更新是否有意义?
  2. 如果数据被缓存了10秒,用户能注意到差异吗?
  3. 如果数据对每个用户来说都是唯一的,但并不是每秒钟都更新,难道你不能使用数据刷新(当数据实际改变时使缓存的数据无效)吗?

我使用requires来延迟加载js, html和css文件。为了让服务器提供资源负载,您需要将KeepAliveTimeout保持为15