负责的模块 每天要承接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有点重