php - ajax-heavy Apache+Mysql+PHP站点的服务器优化

标签 php mysql ajax apache optimization

我环顾四周,没有找到这个问题的预先存在的答案。

信息

我的网站依赖于 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 配置/服务器资源。我有哪些选择可以改善这一点?

感谢您的帮助!

最佳答案

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

只是给出一些想法:

  1. 是否每个用户都需要从 ajax 请求中获得真正独特的、用户特定的响应,或者它是否与所有用户组或用户子组相同或相似?
  2. 让每个用户每秒更新一次有意义吗?
  3. 如果将数据缓存 10 秒,用户能否注意到差异?
  4. 如果每个用户的数据确实是唯一的,但不是每秒为每个用户更新一次,您是否可以使用数据刷新(当数据实际发生变化时使缓存数据无效)?

关于php - ajax-heavy Apache+Mysql+PHP站点的服务器优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22544417/

相关文章:

php - 如果多个用户同时使用这个查询可以吗?

php - 如何在 PHP 中设置自定义 REQUEST header

javascript - 如何使用 javascript 将 mp3 字符串转换为声音

php - 如何将来自两个不同表的数据合并到一个变量中

mysql - 在 Mysql 中为导入的模式创建并设置新用户和密码

mysql - 如何加入 2 个查询

php - 使用 php 和 ajax 更新 mysql 中的 div,无需通过 timmer 重新加载

php - 如何在 foreach 循环中回显消息一次

asp.net - 后台更新面板

PHP mysql匹配多行结果