【问题标题】:Reasonable web server performance合理的网络服务器性能
【发布时间】:2013-08-13 15:30:36
【问题描述】:

我目前正在运行一些性能测试,以查看新开发的 Web 后端每秒可以处理多少请求。 但是,我完全不知道我应该期望网络服务器每秒处理多少个请求(10?100?1000?)。

我目前正在一个中等大小的 1GB - 1 核虚拟机上进行测试。这样的服务器应该能够处理的合理的最小请求数/秒应该是多少?

【问题讨论】:

  • 这非常依赖于应用程序 - 请参阅 stackoverflow.com/questions/373098/…
  • 感谢您的链接!我知道这是非常依赖于应用程序的,但这并不妨碍人们根据平均应用程序给出一些有根据的猜测。但是,您链接的问题提供了很多数字,所以我会调查一下,谢谢!

标签: performance webserver performance-testing


【解决方案1】:

我认为您应该问自己的正确问题是,当处理 X 请求时,我希望我的应用程序具有什么性能目标?

请记住,良好的性能测试始终以实现现实且明确定义的性能目标为导向。

这些目标通常由绩效团队和客户/利益相关者设定。

【讨论】:

  • 我问这个问题是因为我不知道什么是好的性能。我可以选择任何随机的性能目标,但这并不是很有用。我试图找到一些参考数字,正如 fvy 在他的评论中提供的那样,这样我就可以制定一些合理的性能目标。我根本不知道我在应用程序中看到的性能是否良好。另外,我在一家小型初创公司工作,所以我们只有几个开发人员。我们的客户与我们的表现无关(“它应该可以工作”),而我的老板对此一无所知。所以这真的取决于我......
【解决方案2】:

这个问题有很多变数;

  • 您使用的是什么网络服务器软件(Apache、nginx、IIS、lighttpd 等)?这会影响查找延迟以及可以同时处理多少个请求。
  • 您的系统逻辑是用什么语言编写的(PHP、Ruby、C 等)?影响内存使用和基本执行速度。
  • 您的系统是否依赖任何外部服务(数据库、远程服务、消息队列等)? I/O 延迟。
  • 您的服务器如何连接到外部世界(专线、拨号调制解调器 (!) 等)?网络延迟。

解决此问题的一种方法是首先发现您的网络服务器在最佳条件下可以提供多少请求,例如。提供具有最少 HTTP 标头的 1 字节的单个静态 HTML 页面。这将测试 Web 服务器的基本接收-检索-服务周期,并让您了解它的最大吞吐量(每秒处理的请求数)。

一旦你有了这个数字,再次提供你的网络应用程序和基准测试。每秒请求数的差异可让您大致了解您的应用的最佳(或次佳)程度。

在适当的条件下,即使是最普通的硬件也可以提供数千个响应。

【讨论】:

  • 我确切地知道我的应用程序能做什么或不能做什么,但是我想把其他应用程序放在一起。这也是我故意不包括编程语言或网络服务器软件的原因。 Web 应用程序不仅仅是自定义编写的代码,Web 服务器软件是它的基础部分。如果我知道“平均”网络服务器可以处理多少,那么我可以自己调整答案以适应我的应用程序应该处理多少。
猜你喜欢
  • 1970-01-01
  • 2013-03-19
  • 1970-01-01
  • 2011-05-26
  • 2019-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-16
相关资源
最近更新 更多