我环顾四周,没有找到这个问题的预先存在的答案。
信息
我的网站依赖于 Ajax、Apache、Mysql 和 PHP。
我已经建立了自己的网站并且运行良好,但是一旦有太多用户开始连接(每秒接收大约 200 多个请求时),服务器性能就会很差。
这个网站非常依赖ajax。该网站的主页每秒执行一次 ajax 请求,因此如果有 100 人在线,我每秒至少会收到 100 个请求。
这些 ajax 查询在服务器端调用 mysql 查询。这些查询返回小数据集。返回的数据集会经常变化,所以我想缓存是无效的。
问题
1) 哪些配置实践最能帮助我提高每秒最大请求数?这适用于 Ajax、Mysql、PHP 和 Apache。
2) 对于 Apache,我希望持久连接(KeepAlive 指令)是“打开”还是“关闭”?据我了解,如果您期望有很多用户,Off 很有用,但 On 对于 ajax 很有用,我需要这两种东西。
3) 当我测试服务器在提供一个没有 ajax 的简单、简短的 html 页面(并且只涉及 1 个次要的 mysql 查询)时的性能时,当该页面收到 200 多个请求时,它的性能仍然很差每秒。我想这一定是由于 apache 配置/服务器资源。我有哪些选择可以改善这一点?
感谢您的帮助!
最佳答案
根据实际用户需要,缓存可以以不同的模式实现。在许多情况下,用户并不真正需要每秒更新和/或他们可以缓存更长的时间,只是让它看起来更新很多。这取决于...
只是给出一些想法:
- 是否每个用户都需要从 ajax 请求中获得真正独特的、用户特定的响应,或者它是否与所有用户组或用户子组相同或相似?
- 让每个用户每秒更新一次有意义吗?
- 如果将数据缓存 10 秒,用户能否注意到差异?
- 如果每个用户的数据确实是唯一的,但不是每秒为每个用户更新一次,您是否可以使用数据刷新(当数据实际发生变化时使缓存数据无效)?
关于php - ajax-heavy Apache+Mysql+PHP站点的服务器优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22544417/