Find a stress testing tool to verify jmeter to find out. For the SNS we did before, the performance indicator of a Tomcat application was 3000TPS. The machine is a Huawei R3 blade machine with 16 cores.
At the same time, you can monitor the logic execution time through XRebel.
The QPS of 3k is not particularly high. If there is a cache, the database is fine and can handle it. It’s just that the QPS of tomcat is generally K level. Can we consider using other servers (such as nginx) to read and write cache? This reduces the load on tomcat, thus improving overall throughput.
Baidu’s bigtable-like storage rebuilt in C++ can achieve a single-machine random read and write of 30,000 qps. Although hbase has relatively poor performance, it should be able to achieve at least 10,000qps, so the database is not a problem.
In view of the machines and resources you mentioned, you can consider co-locating two machines, with hbase and tomcat on each machine. In addition, you can consider adjusting the number of threads appropriately based on tomcat's service mechanism and the time-consuming of your logic.
If the two machines are relatively high-end in all aspects, it is recommended to use some resource isolation and virtualization solutions
Find a stress testing tool to verify jmeter to find out.
For the SNS we did before, the performance indicator of a Tomcat application was 3000TPS.
The machine is a Huawei R3 blade machine with 16 cores.
At the same time, you can monitor the logic execution time through XRebel.
The QPS of 3k is not particularly high. If there is a cache, the database is fine and can handle it. It’s just that the QPS of tomcat is generally K level. Can we consider using other servers (such as nginx) to read and write cache? This reduces the load on tomcat, thus improving overall throughput.
Baidu’s bigtable-like storage rebuilt in C++ can achieve a single-machine random read and write of 30,000 qps. Although hbase has relatively poor performance, it should be able to achieve at least 10,000qps, so the database is not a problem.
In view of the machines and resources you mentioned, you can consider co-locating two machines, with hbase and tomcat on each machine. In addition, you can consider adjusting the number of threads appropriately based on tomcat's service mechanism and the time-consuming of your logic.
If the two machines are relatively high-end in all aspects, it is recommended to use some resource isolation and virtualization solutions
You don’t need tomcat, you can use something else, tomcat is a bit heavy