84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
负责的模块 每天要承接2.5个亿(3000QPS)的查询量(根据ID查找hbase数据 业务很简单)
目前是两台128g内存的物理服务器
ehcache单机缓存
数据存在hbase当中
还没有做压力测试
请问:这种场景下 一般的tomcat能抗住多少QPS我觉着两台不够 大概需要几台服务器有什么优化的思路?
-我能想到的是改用redis分布式缓存tomcat jvm -gc优化http和内核配置代码优化加机器不知道加几台现在
`
业精于勤,荒于嬉;行成于思,毁于随。
找个压力测试工具验证一下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有点重
找个压力测试工具验证一下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有点重