【问题标题】:lua-resty-redis set_keepalive recommended settingslua-resty-redis set_keepalive 推荐设置
【发布时间】:2023-03-22 04:57:01
【问题描述】:

我正在使用 red:set_keepalive(max_idle_timeout, pool_size)

(来自这里:https://github.com/openresty/lua-resty-redis#set_keepalive

使用 Nginx 并尝试确定用于 max_idle_timeout 和 pool_size 的最佳值。

如果我的 worker_connections 设置为 1024,那么将 pool_size 设置为 1024 是否有意义?

对于 max_idle_timeout,60000(1 分钟)是否过于“激进”?使用较小的值是否更安全?

谢谢,

马特

【问题讨论】:

    标签: nginx redis lua openresty


    【解决方案1】:

    我认为官方文档的Check List for Issues 部分对调整连接池大小有很好的指导:

    基本上,如果您的 NGINX 处理 n 并发请求并且您的 NGINX 有 m 工作人员,那么连接池大小应配置为 n/m。例如,如果您的 NGINX通常处理 1000 个并发请求并且您有 10 个 NGINX 工作人员,那么连接池大小应该是 100。

    因此,如果您预计实际连接到 Redis 的并发请求有 1024 个,那么适合您的池的大小为 1024/worker_processes。可能还要考虑更多,以解决工作人员之间请求分配不均的问题。

    您的 keepalive 应该足够长,以适应流量的产生方式。如果您的流量是恒定的,那么您可以降低超时。或者保持 60 秒,在大多数情况下,更长的超时不会产生任何明显的差异。

    【讨论】:

      猜你喜欢
      • 2013-12-29
      • 2015-11-18
      • 2017-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-13
      相关资源
      最近更新 更多