Train servlet性能
我使用相同的JMeter配置来测试TrainServlet。是否我们在浪费时间来开发Train模式呢?当然不是,就如图3显示的那样。

Figure 3. TrainServlet performance. Click on thumbnail to view full-sized image.
我们提高了15倍的效率!结果可能与硬件/软件/特定的实现有关,但显然效率的提高是肯定的。
这个图描述了静态的50个用户并发访问的模拟环境。但更实际和有意义的数据可以通过动态回归分析来取得。对这种类型的分析,我模拟了不同的并发用户数据并且测量两种servlet对每个请求的性能。
图4显示了测量结果。

Figure 4. Comparative dynamic performance. Click on thumbnail to view full-sized image.
结果有点难心置信。相比ClassicServlet,TrainServlet在大量外部访问时并没有出现性能衰退。当然在小于3个并发用户时,ClassicServlet的响应更快一些。我称这种现象为低访问量惩罚,这出现在只有一个用户请求时。在这种情况下,我们需要等到下一次计划时间到达时才能执行,也就是说在只有一个请求时批处理并不能提供什么好处。
