使用多个CPU/CPU-Cores为服务器应用程序提供了并行处理多个客户端连接(和请求)的机会(实现更高的性能)。
在一个多核CPU的世界里,这个问题一直是广泛研究的课题。
有寻址并行(如多核CPU)的3种方式:使用几个进程
;
在单个进程中使用多个线程;
在几个进程中使用多个线程。
Apache已经探索了几种模型,Nginx正在使用选项#1。
哪种模型性能更好通常被认为是实现问题(至少在Unix下,进程非常轻,因此可以与线程竞争)。
现在,回到我的猜测(基于阅读测试发布here),应该是适当的(多线程)Apache架构应该在多核CPU上比Nginx更好地扩展。
Paradoxally,这并不意味着Apache是比Nginx的速度更快:它只是意味着,在1,2,3,... 16个核心,阿帕奇将超过Nginx的规模更好WHILE的Nginx将处理更多的客户端请求:
性能是要快(处理单个核CPU每秒更多的请求)
可伸缩性是处理每秒更多的请求作为CPU内核的数量的能力的增长(理想的是线性缩放:当您将CPU核心数加倍时,每秒请求数加倍)。
缩放无性能是没有意义的,如果每它可以扩展服务器的第二请求的数量不如不缩放(注意,如果这个服务器是很好地进行扩展,有一个点的服务器的速度拥有很多核心应该使它比没有扩展的服务器更好)。
执行不缩放使服务器无法利用多核心处理器的优势。
未来肯定会进行的,其正确一举两得服务器应用程序,提供所有条件(只有几个核心或多对多芯)下的最佳性能。

被折叠的 条评论
为什么被折叠?



