Tomcat可扩展性 – 多less个服务器

我正在尝试调整一个tomcat集群的大小。 关键因素很可能是:

  1. 我们决定使用群集内存caching的大小。 例如,如果我们想要支持100GB的内存caching,那么我们可能需要50个实例(假设2GB的最大堆大小),也许需要5个服务器(假设24GB RAM)。
  2. 请求延迟,针对某个预定义的目标。
  3. CPU。

考虑到后者,在负载testing期间,我们正在监控最高。

对于2个CPU×8核心服务器,我们看到,例如:

top - 15:49:34 up 99 days, 3:00, 5 users, load average: 1.51, 1.16, 1.04 Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie Cpu(s): 1.5%us, 0.1%sy, 0.0%ni, 98.4%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st Mem: 24551264k total, 6872016k used, 17679248k free, 702612k buffers Swap: 10731412k total, 0k used, 10731412k free, 4487096k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 18227 tomcat 18 0 1751m 857m 11m S 26.0 3.6 3:15.96 java 

对于我们的负载testing中的用户数量,我们似乎没有受CPU限制,但是如果我们增加了用户数量,这将是最有用的统计大小?

  • 平均负载?
  • CPU%us /%id值?
  • tomcat进程%CPU?

谢谢。

进程%CPU是进程在正在运行的核心上使用多less。 其他的CPU头是所有的CPU /核心。 这不是一个简单的答案,因为tomcat的扩展可以很简单,但是这确实是一个在tomcat中运行的应用程序的问题,它将决定缩放比例。 有些应用程序比其他应用程序使用更多的CPU,有些使用比其他更多的内存或networkingIO 除非您将要运行的应用程序具有性能指标和使用情况统计数据,否则将根据需要进行等待和观察。