Nginx   发布时间:2022-05-11  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了是什么决定了Nginx配置中服务器块数量的实际限制?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我试图弄清楚仅由简单服务器块组成的Nginx配置是否可行.每个块都提供子域,并将子域指向另一个URl.当然,特定环境中的最大值取决于参数,因此我对确定实际限制的因素更感兴趣.

例如,额外服务器块的额外成本(就内存开销而言)总是不变的吗?调度到特定服务器块以将请求处理为常量的成本是否是配置中服务器块数量的函数?

示例服务器块将是:

server {
    server_name subdomain.example.com;
    return 301 http://some.other.example.org/subdomain;
}

例如,每核心每千兆字节内存或其他相关参数可以有多少?

谢谢.

最佳答案
影响合理数量的server_names的最大因素是cpu的缓存大小(当然还有速度).

首先,Nginx将您定义的所有server_names存储到Nginx侦听的每个IP /端口对中的三个hash tables(取决于您是否在名称中使用了通配符).这些结构的大小被优化为cpu的缓存行大小的倍数,并且Nginx打算能够完全匹配来自cpu缓存的传入请求的server_name,而不必转到(相对)慢得多的RAm. .

开箱即用,Nginx为服务器名称设置哈希表,其中512 entries为32 bytes.这达到了16 KiB,很容易适应cpu的L1缓存,或者至少在L2缓存中.即使你需要扩展它,它仍然应该足够小,以适应大多数时间的缓存.

此策略建议您应尽量将名称列表保持在最低限度.

例如,即使匹配诸如.example.com之类的通配符条目可能“慢”,它也可能比尝试与明确定义的example.com的数百个子域匹配更快.

另请参阅optimizing server_names上的Nginx文档.

大佬总结

以上是大佬教程为你收集整理的是什么决定了Nginx配置中服务器块数量的实际限制?全部内容,希望文章能够帮你解决是什么决定了Nginx配置中服务器块数量的实际限制?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: