首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单台服务器每秒处理2000个HTTP请求现实吗?

单台服务器每秒处理2000个HTTP请求现实吗?
EN

Stack Overflow用户
提问于 2011-10-13 21:55:32
回答 2查看 8.1K关注 0票数 7

我正在构建一个基于Java的web服务(使用JSON作为数据编码),它将需要每秒处理多达2,000个HTTP请求。每个请求所需的处理几乎可以忽略不计( HashMap.put()方法调用),解析JSON可能是主要的开销。

我想知道一个高内存四倍超大型EC2实例(68GBRAM,8核,64位)是否能够每秒处理多达2,000个HTTP请求?

我意识到很难得到确切的答案,我只是想知道这是否在可能的范围内,或者我是否在吸食可口可乐。

我目前正在使用SimpleWeb web框架,尽管我注意到它目前似乎还没有得到维护。人们能推荐适合这种大容量使用的替代嵌入式HTTP服务器吗?

EN

回答 2

Stack Overflow用户

发布于 2014-08-31 17:54:22

每秒2000个请求(或2 krps)应该在Java servlet的能力范围内,前提是您不会引入巨大的瓶颈,并且您正在使用的框架不会太糟糕。鉴于您显然没有访问任何后端,该任务应该是CPU绑定的,并且具有很好的伸缩性。

Web Framework基准测试的JSON serialization测试显示,许多Java框架提供了非常好的结果;即使使用20 database queries,结果仍然远远超过2krps。在亚马逊上,他们使用的m1.large实例比你计划使用的实例(我估计是c3.4xlarge)要小。

您可以尝试使用well maintainedUndertow,它提供了一个方便的servlet API。Netty是另一种可能,尽管它有自己的API。

注意:我意识到这个问题有点老了,但是这个问题应该仍然有效。

票数 2
EN

Stack Overflow用户

发布于 2014-08-31 18:23:31

这绝对是可能的,根据this question的说法,Netty每秒可以处理超过10万次交互。一些JSON解析器可以将请求字符串转换为JSON对象,或者您甚至可以使用它一个二进制变体BSON,如下所述(如果消息很长或非常复杂)。从this question上看,一台安装了最新操作系统的服务器可以处理的连接数量超过了30万,远远超过了您的任务所需的数量。

当然,这也取决于您需要采取哪些操作来处理可能是限制因素的请求。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7755211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档