答案1
我对这些结果非常怀疑。虽然 IIS 可能更快,但这两篇文章都没有提到任何有关硬件、操作系统设置(文件系统挂载选项、io 调度程序、网络缓冲区、tcp 堆栈设置等)、Web 服务器配置的具体信息。现代 http 服务器非常复杂,您可以打开和关闭大量选项和模块。为了进行相关测试,您需要在类似条件下测试所有服务器并启用类似功能。没有这个,它就是苹果和橘子。
答案2
这非常值得怀疑。我们已使用 iis 部署了 Web API(.net core 3.1),并使用 Ubuntu 部署了 NGINX。使用 nginx 的响应时间是 iis 的 1/3。没有执行负载测试。但另一件大事是,我们为 ubuntu 和 windows server 配备了 8gb 的机器,而 windows server 中的操作系统本身占用了 2.5 gb 的内存。而 ubuntu 的内存消耗较少,包括应用程序在内总共不到 1 Gb。
答案3
- 关键字1 - IOCP - 理论上比Nginx使用的epoll更好
- 关键字 2 - http.sys - IIS 的某些部分在内核空间中运行
答案4
以下一些参数可能会影响 Web/应用程序服务器的性能:-
系统容量:RAM、RAM 类型、系统 L1 缓存、系统 L2 缓存、处理器容量、系统总线容量、磁盘类型、操作系统、文件系统架构。
Web/应用服务器:Web/应用服务器的类型/版本、Web 请求处理能力、索引能力、根据需要扩大/缩小的能力、对象实例处理能力、内存管理能力。
网络:网络容量、网络连接性和网络 I/O 处理能力。
Web/应用程序服务器的版本:同一 Web/应用程序服务器的不同版本的性能可能有所不同。
为了进行性能比较,应该只有一个变量。
我们需要明确什么是性能测试规范。