小编B p*_*B p的帖子

哪个php5-fpm设置用于高并发连接数+ nginx

请帮我调整我的 php5-fpm 和 nginx 配置。

问题是我的 php5-fpm 日志不断报告缓慢的脚本并杀死一个子线程。

专用服务器,四核至强,32Gb 内存。1 个 php 应用程序/站点正在运行。

Php 应用程序:坚果壳,搜索引擎,结果触发 curl 请求。每次搜索页面加载时间通常为 2 - 3 秒。

这是我认为正在发生的事情:

我有 750 个并发 php 用户在执行搜索。pm.max_children = 400由于 RAM 限制,我只能设置。我假设每个用户(子线程)有 50Mb,所以 = 20GB。我假设每个用户 = 1 个子线程。因此,pm.max_children这不足以涵盖 750 个需要 3 秒进行搜索的活跃 php 用户。

所以我想我看到用户排队是因为我看到 3 秒变成了 4 - 7 秒。当用户排队时,我认为脚本越来越慢会触发错误日志消息,而 php5-fpm pm 会杀死孩子吗?

这就是我认为正在发生的事情。我在下面提供了我的错误日志输出、nginx、php5-fpm 配置。

如果我可以调整我的配置,并且确实pm.max_children应该至少等于您的最大并发用户数,我真的很感激任何建议,请记住,我的 php 搜索打开了大约 3 秒。我需要更多的内存还是额外的服务器?

这是我的记忆,但我在大约 30 分钟前才重新启动了 nginx

:/var/log# free -m
             total       used       free     shared    buffers     cached …
Run Code Online (Sandbox Code Playgroud)

nginx php-fpm

6
推荐指数
1
解决办法
4万
查看次数

我可以将 Varnish Cache 与我的 cookie 一起使用吗

我很想利用 varnish 的强大功能来缓存我的 php 密集型应用程序,该应用程序每天为大约 40 万人提供服务。

该应用程序通过触发多个卷曲 XML 的线程来获取搜索数据,因此您可以想象新线程会产生很多,并且这些线程会保持打开状态几秒钟,从而使页面加载几秒钟。

每个搜索结果页面的缓存将大大加快用户体验。

所以这是我问题的基础。

我们的搜索结果页面需要转换代码跟踪。所以用户来自source/referer A,到我们的页面domain.com/search/?q=something&source=A,选择合适的转换跟踪代码(与referer A相关)输出到页面。Cookie 也会被删除,因此用户下次返回页面时会检查 cookie 是否存在,如果存在,则选择在 HTML 中显示正确的转换代码。

通过这种方式,转换跟踪在会话中和会话外工作。

问题是,鉴于我们对 cookie 要求的了解,是否可以在这种情况下使用 varnish 进行缓存?我们能否以某种方式配置 VCL 来处理这些 cookie,如果可以,我们应该写什么?

谢谢

varnish

1
推荐指数
1
解决办法
830
查看次数

标签 统计

nginx ×1

php-fpm ×1

varnish ×1