【发布时间】:2010-06-20 07:20:36
【问题描述】:
我几乎没有处理大容量交易网站的经验,最近遇到了这个有趣的问题。我很想知道在高负载(每秒数千个请求)下,Java Web 应用程序中的瓶颈会出现在哪里。如果有人能给我一个高层次的方法来思考以下问题,那就太好了!
我想出的唯一方法是使用 memcached 缓存数据库查找,但我不知道如何计算每个请求将花费的时间量,因此系统每秒可能有多少请求可以应付。
问题: 互联网规模的应用程序必须设计为处理大量事务。描述一个系统设计,该系统必须平均每秒处理 30,000 个 HTTP 请求。 对于每个请求,系统必须使用通过 URL 查询字符串传入的关键字来查找包含 5000 万字的字典。每个响应都将包含一个包含单词定义的字符串(100 字节或更少)。
描述系统的主要组件,并注意哪些组件应该是 定制以及哪些组件可以利用第三方应用程序。包括每个组件的硬件估计。请注意,设计应以最低的硬件/软件许可成本实现最高性能。
记录估算的理由。
描述如果每个定义为 10 KB,设计将如何变化。
【问题讨论】:
标签: java performance requests-per-second