美文网首页
[译]每秒请求数到底需要多大

[译]每秒请求数到底需要多大

作者: lwhile | 来源:发表于2017-10-11 23:10 被阅读242次

前言:

这篇文章来自Google Group的一个问答,作者是@keztoo,由本人@lwhile将其翻译成中文.
转载的时候请注明来源.

以下是@keztoo对问题"一个能进行SQL查询和模板渲染功能的tornado实例,每秒能处理的请求数需要多大"的回答内容

每一天有86400秒,如果每秒能处理一个请求的话,那么一天就能处理86400个请求.如果把处理的能力增加10倍,即每秒能处理10个请求,那么一天下来就能处理的数量就达到了864000(接近100万).如果每秒能处理100个请求的话,那么将会是一个不错的开始.然后不幸的是,用户的请求并不会均匀得在24小时中分布,而是有可能同时挤在某个时刻到来,这可以会影响到你的服务.

在你的案例中(#译者注:指提问者的案例),其他需要考虑的因素还有传送的数据大小(如1k的页面,10k的页面,或者100k的页面等等),以及你的SQL语句消耗的时间.我个人倾向于使用面向服务的架构,将SQL请求传送到服务集群中去,再由相应的服务进行SQL访问.

假设有一个线程处理串行到达的请求(这里只是为了进行性能分析,和实际可能会不一样),这就意味着在一个线程中你每秒能处理40个请求左右(假设每个请求用时25ms).在这个基础上,你的tornado处理每个请求的时间越短,你的每秒请求处理数将超过40越多.

通常来说,限制因素是页面的传输带宽和前端的处理能力.假设你要传输的页面每页大小是100k,带宽是10mbs,那么你一秒能传送的页面数为10页(记住100k的单位用的是bytes,mbs用的单位是bits,它们之间的转换比大约是10:1,(#译者注:确切来说是8:1)).换句话说,你能撑得住10个用户的并发访问.

假设你的服务跑在一个具有无限带宽的云服务器上,并且忽略前端带宽(#译者注:这里是指服务器的带宽和客户的带宽),把注意力都放在服务平台上,这时候每个tornado实例每秒能处理40-100个请求.而且通过Nginx对几个并行运行的tornado实例做负载均衡,你还能很容易增加这个数字.写到这里我们可以算出:

使用1个前端代理和1个服务实例,每秒能处理25个请求

使用2个前端代理和2个服务实例,每秒能处理40个请求

使用4个前端代理和16个服务实例,每秒能处理80个请求

使用8个前端代理和32个服务实例,每秒能处理125个请求

我们来看看我上面讲的内容错了哪些地方(举例来说,我们的数据库有时候会发起长连接,这个被忽略了).所以,当我说使用8个前端代理和32个服务实例,每秒能处理125个请求时,我指的是只在一个1GHZ,380mb的机器上,我们只启动一个Nginx实例,做前端和后台的负债均衡,32个后端实例和8个tornado实例(很明显每个实例都拥有一个端口)(#译者注:这里不大理解,如果你看了原文知道意思请评论给我).在1GHZ的云服务器上,这很有可能导致负载过大.但就如我前面所说,我们现在只是为了做分析.到目前为止,我们在一台很小的机器上每秒能够处理100个请求了.我在做运行测试时(在一台很小的家用云服务器上),这个数字能接近我所期待的,大约500-700这个级别,我觉得这对于单台服务器来说已经很不错了.

总结:

如果你想要支撑住每日一百万级个请求,你至少得持续每秒处理10个请求.这可能只需要一台小小的服务器而已.

希望能对你有所帮助.

相关文章

  • [译]每秒请求数到底需要多大

    前言: 这篇文章来自Google Group的一个问答,作者是@keztoo,由本人@lwhile将其翻译成中文....

  • qps

    qps 是 每秒查询数的简称( query per second) ,也可以认为是每秒请求数() 向服务发出请求,...

  • jmeter压力测试--集合点

    1、基本公式 线程数 = QPS * time; 注:QPS--每秒完成请求的个数;time--每个请求响应完成平...

  • 系统容量估算

    概念 QPS: 系统每秒中的请求数量并发数:单台服务器同时处理请求的数量响应时间: 请求开发到返回的处理时间 预...

  • MockServer集群化

    MockServer 支持非常高的请求吞吐量,但是如果需要更高的每秒请求速率,则可以将 MockServer 集群...

  • 传说中的那些名词儿

    TPS:(Transactions Per Second )每秒事务处理数;代表着一秒内服务平均能相应的请求总数。...

  • 关于PV、TPS、QPS

    术语说明: QPS = req/sec = 请求数/秒 即每秒钟的请求数量,通常是指每秒相应请求数(http);...

  • 常用日志分析命令

    1、总请求数 2、独立IP数 3、每秒客户端请求数 TOP5 4、访问最频繁IP Top5 5、访问最频繁的URL...

  • 《高性能MySQL》读后感——性能指标

    在衡量一个系统性能时,一定要有可量化的指标,无法量化就无法有效的优化系统性能。系统每秒可以承载多大请求量,每个请求...

  • 对于事务操作的统计

    每秒请求数(QuestionPerSecond,QPS)每秒事务处理(TransactionPerSecond,T...

网友评论

      本文标题:[译]每秒请求数到底需要多大

      本文链接:https://www.haomeiwen.com/subject/oaigyxtx.html