日均2.5个亿查询量的系统架构?

负责的模块 每天要承接2.5个亿(3000QPS)的查询量(根据ID查找hbase数据 业务很简单)

目前是两台128g内存的物理服务器

ehcache单机缓存

数据存在hbase当中

还没有做压力测试

请问:
这种场景下 一般的tomcat能抗住多少QPS
我觉着两台不够 大概需要几台服务器
有什么优化的思路?

-我能想到的是
改用redis分布式缓存
tomcat jvm -gc优化
http和内核配置
代码优化
加机器不知道加几台现在

`

阅读 5.6k
4 个回答

找个压力测试工具验证一下jmeter才知道。
之前我们做的SNS,一台Tomcat应用的性能指标就是3000TPS
机器是华为R3刀片机,16核的。

同时可以通过XRebel监控一下逻辑执行耗时。

3k的QPS不算特别高,有缓存的话数据库还好,扛得住。只是tomcat的QPS一般是K级别,是不是可以考虑用其它服务器(比如nginx)来读写cache?这样可以减轻tomcat负载,从而提高整体吞吐量。

百度自己用C++重构的类似bigtable的存储单机随机读写达到3万qps。hbase虽然相对性能差些,但是至少10000qps应该可以达到所以数据库不是问题。

鉴于你说的机器和资源情况,可以考虑两台机器混部,每台机器上都有hbase和tomcat。另外可以考虑根据tomcat的服务机制和你的逻辑的耗时适当调整线程数。

如果两台机器各方面都比较高配,建议使用一些资源隔离和虚拟化的方案

可以不用tomcat不,换其他的,tomcat有点重

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题