【问题标题】:nginx php-fpm cache same multiple requests per secondnginx php-fpm 每秒缓存相同的多个请求
【发布时间】:2015-01-27 20:01:26
【问题描述】:

我遇到以下情况:

一个拍卖网站,所有连接的用户每 2 秒向服务器发出一个 ajax 请求。

数据每 2 秒更改一次,因此无法长时间缓存,所以我想知道。

最好的方法是什么:

如果我在同一秒内有 200 个请求,则为它们提供相同的响应,而不是再次运行 php 并连接到 mysql 以获得结果。

所以我不知道这是否可以用如此短的 1 秒缓存时间来完成,我也不知道使用 Nginx 方面的东西会更好,或者 PHP 方面的东西,例如APC。

有什么想法吗?有意义吗?

我的问题是我试图调整 Nginx 和 php-fpm,现在它可以在 2000 毫秒的响应时间下处理 200 个请求/秒,500 个请求/秒大约是 5000 毫秒,所以我正在寻找一种加快速度的方法每秒处理尽可能多的请求。

更新:
该网站在 Symfony2 上运行,因此也欢迎任何与之相关的建议。

更新 2!!!
我已将处理 ajax 请求的应用程序部分移动到单个 php 文件中,而不使用 Symfony2 框架。它执行 3 个 sql 查询并返回 json 响应。现在它可以以 150 毫秒/秒的速度处理 1000 多个请求,这真是令人难以置信。我猜 Symfony2 确实需要调整才能做到这一点,我猜问题不是 php,而是框架使用的所有内存。

【问题讨论】:

    标签: php mysql symfony caching nginx


    【解决方案1】:

    Vanilla PHP 当然比任何 PHP 框架都快,但是维护几十个这样的脚本很痛苦。你可以坚持使用 Symfony 并使用 Varnish 来处理繁重的负载。缓存 TTL 可以低至 1 秒,使用 Varnish 您可以处理数千个请求。

    【讨论】:

      猜你喜欢
      • 2012-06-23
      • 1970-01-01
      • 1970-01-01
      • 2016-02-24
      • 2018-08-31
      • 1970-01-01
      • 2016-03-18
      • 2018-03-14
      • 1970-01-01
      相关资源
      最近更新 更多