【问题标题】:IIS, Nginx and HttpListener benchmarking -- confusedIIS、Nginx 和 HttpListener 基准测试——困惑
【发布时间】:2012-08-15 02:00:29
【问题描述】:

我正在我的开发机器(i7 CPU,4GB RAM,Windows 7 64 位)上运行基准测试,以确定哪个 Web 服务器具有最佳性能来提供静态内容,同时考虑 IIS 和 Nginx,以及使用 HttpListener (.NET 4.5) 的自定义控制台应用程序。我正在使用 Apache Benchmark 查看每台服务器每秒处理的请求数(-c 1000 -n 10000)

我不敢相信结果,Nginx 每秒处理 1000 个请求,IIS 每秒处理 700 个请求,使用 HttpListener 的自定义控制台应用程序每秒处理 4500 个请求。一定是出了点问题,谁能解释一下这种情况并解释为什么我会得到这些奇怪的结果?

【问题讨论】:

  • 您未提供任何可用于获取反馈的信息。你使用什么工具,你如何衡量,任何屏幕截图,任何东西。
  • 您可以在基准测试期间使用“Fiddler”来跟踪 http 请求。有什么吸引眼球的地方吗?
  • 我使用了 Apache Benchmark,如问题中所述。 HTTP 标头没有显示任何特殊内容,它们都允许保持连接处于活动状态并允许直接文件流传输的响应。我不知道我还能展示什么可以提供更清晰的图像......
  • 响应有多大,IIS 不会(内核)缓存超过一定大小的静态文件。在本地运行 AB?这是什么类型的 I7 处理器,我们已经看到 IIS(和 nginx)的推动力远不止于此,但大小很重要 :)

标签: c# asp.net iis nginx httplistener


【解决方案1】:

首先,确保它们之间没有网络环境差异。

这取决于您的配置。对于 Nginx,例如:worker_connections、open_file_cache、sendfile、keepalive ......所有这些参数都会影响你的“ab -c 1000 ...”测试结果。

更重要的是,Nginx 不是为 Windows 操作系统设计的,但 C# 和 HttpListener 肯定是。

【讨论】:

    猜你喜欢
    • 2012-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-30
    • 2017-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多