生产Web应用程序每秒的“平均”请求是多少?


120

对于所谓的“快速”,我没有任何参考依据。我一直想知道这一点,但从未找到直接的答案...


9
没有直接的答案。快速是一个相对的术语,答案很大程度上取决于您的上下文和应用程序。
Dave L.

Answers:


103

OpenStreetMap似乎每秒10-20

维基百科似乎以每秒30000至70000的速度分布在300台服务器上(每台计算机每秒100至200个请求,其中大部分是缓存)

Geograph 每周可获得7000张图片(每95秒上传1 张图片


6
哇,这对维基百科来说真是太慢了
约瑟夫·佩西

8
@JosephPersie不要忘了看发帖日期,呵呵。
光谱

它仍然显示少于200,000 / sec-新的监视页面是grafana.wikimedia.org
OJW

有趣的是,我只是对Webpiece上的流进行负载测试,每秒记录与每秒请求数之间的关系。我认为请求/秒是在同一范围内(100到200),但是通过流传输,它每秒可以记录多达1140条记录(执行ndjson)。无论如何以为我会分享更多的数字。(不知道这种情况是否会改变,因为通过2种微服务流式传输到内存数据库中的测试……仍然需要使用实时DB进行测试。除非我们切换到nosql,否则DB可能是我们的瓶颈,并且会使我们退缩)。
院长希勒

50

不确定是否有人仍对此感兴趣,但是此信息是关于Twitter的也是)发布的:

统计资料

  • 超过350,000个用户。实际数字一如既往,非常超级超级绝密。
  • 每秒600个请求。
  • 每秒平均200-300个连接。每秒增加800个连接。
  • MySQL每秒处理2400个请求。
  • 180个Rails实例。使用Mongrel作为“ Web”服务器。
  • 1个MySQL服务器(一个8核大盒子)和1个从属服务器。从站是只读的,用于统计和报告。
  • 30多个处理零工的流程。
  • 8个Sun X4100s。
  • 在Rails中以200毫秒处理请求。
  • 在数据库中花费的平均时间为50到100毫秒。
  • 超过16 GB的memcached。

2
一步步接近的情况下,源的博客文章下山:highscalability.com/blog/2009/6/27/...
Chinoto Vokro

@ChinotoVokro也将您的链接添加到了答案。谢谢!
Peter K.

1
@user :-D是的,现在已经有很多历史了。但是,对于当时的我来说,这是一个有用的答案!:-)
Peter K.

13

当我转到网络主机的控制面板时,打开phpMyAdmin,然后单击“显示MySQL运行时信息”,我得到:

该MySQL服务器已运行53天15小时28分钟53秒。它于2008年10月24日上午04:03启动。

查询统计信息:自启动以来,已向服务器发送了3,444,378,344条查询。


每小时 总计 3444 M,
每分钟2.68 M,每秒44.59 k
743.13

在过去53天内,平均每秒钟平均执行743个mySQL查询!

我不认识你,但是对我来说那太快了!非常快!!


不确定。当时我在IXWebhosting,他们使用Windows 32位操作系统作为共享服务器。我怀疑他们的mySQL数据库服务器是一台单独的专用计算机,但我不确定。
lkessler

3
我敢打赌,这个数字是该特定MySQL服务器所有点击量的总和,不仅是您的实例(尽管我可能错了)
沃伦,2012年

@沃伦:是的,我以为是整个服务器。但是,知道一个SQL查询在处理方面涉及什么,每隔一秒钟要处理那么多,就令人印象深刻……这只是平均值,而不是峰值负载。
勒斯勒(

11

就个人而言,我喜欢每次都进行两次分析。...请求/秒和平均时间/请求,并且我希望看到最大请求时间以及最重要的时间。如果您每秒有61个请求,则很容易翻转,然后可以将其翻转为1000ms / 61个请求。

为了回答您的问题,我们一直在进行巨大的负载测试,并发现它在我们使用的各种亚马逊硬件上的变化范围(最佳值为32美元的中央CPU,当它降至$$ /事件/秒时)和我们的请求/秒范围从29个请求/秒/节点到150个请求/秒/节点。

当然,提供更好的硬件会带来更好的结果,但不会带来最佳的投资回报率。无论如何,这篇帖子很棒,因为我正在寻找一些相似之处,以查看我的数字是否在球场上,并且也可以与他人共享,以防有人在寻找。我的矿井完全被装满了。

注意:由于请求/第二次分析(不是ms / request),我们发现了一个主要的linux问题,我们试图解决在负载过大时linux(在C和Java中测试服务器)将所有调用冻结到套接字库中的地方这似乎很奇怪。完整的帖子实际上可以在这里找到。... http : //ubuntuforums.org/showthread.php?p=11202389

我们仍在尝试解决此问题,因为它可以给我们带来巨大的性能提升,因为固定该测试后,测试时间从2分钟42秒提高到1分钟35秒,因此我们看到了33%的性能提升....更不用说了, DoS攻击越严重,这些暂停时间就越长,以至于所有cpus下降到零并停止处理...我认为服务器处理应该在面对DoS时继续进行,但是由于某种原因,它偶尔会冻结一次在Dos中有时长达30秒!!!

补充:我们发现它实际上是一个jdk竞赛条件错误....很难在大型集群上隔离,但是当我们运行1个服务器1个数据节点但其中10个数据节点时,我们每次都可以重现它,只是看着服务器/ datanode。将jdk切换到早期版本可以解决此问题。我相信我们在jdk1.6.0_26上。


4

这是一个非常开放的问题。

您在问1.生产应用程序的平均请求负载2.什么被认为是快速的

这些不一定相关。

您平均每秒的请求数取决于

一个。并发用户数

b。他们每秒发出的平均页面请求数

C。附加请求的数量(例如,ajax调用等)

关于什么被认为是快速的..您是指一个网站可以接受几个请求吗?或者,如果某件硬件每秒可以处理xyz#个请求,那么它被认为是快速的吗?


1

请注意,命中率图表将是正弦波模式,“高峰时间”可能是用户睡眠时的2倍或3倍。(当您计划在服务器上进行每日批处理工作时,该功能很有用)

您甚至可以在Wikipedia等“国际”(多语言,本地化)网站上看到效果


1

通常每位用户不到2秒-即,看到较慢响应的用户认为系统运行缓慢。

现在,您告诉我您已连接多少个用户。


1

您可以在“斜线效果分析”中搜索图表,以查看该站点的某些方面突然在新闻中变得流行的情况,例如Wiki上的该图

能够生存的Web应用程序往往是可以生成静态页面的应用程序,而不是通过处理语言来处理每个请求。

有一个很棒的视频(我想可能是在ted.com上?我想可能是flickr网站团队所写的?有人知道链接吗?),其中包含有关如何将网站扩展到单个服务器之外的想法,例如如何在只读和读写服务器之间分配连接,以使各种类型的用户获得最佳效果。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.