相同的Jetty代码,不同的线程数

时间:2015-04-24 15:03:46

标签: java multithreading jetty redhat

我们在两台服务器上运行相同的Jetty服务,但是看到两种服务都创建了不同数量的线程(50 vs~100个线程)。

两台服务器在RedHat5上运行相同的Java代码(它们的内核略有不同)。然而,其中一台服务器上的Jetty创建的线程数多于另一台服务器。怎么可能?

1 个答案:

答案 0 :(得分:1)

线程数是动态的,取决于很多因素。

根据硬件差异(cpu核心数,网络接口数等),内核差异,java差异,负载差异,活动用户数,活动,您在任何一个点看到的线程数可能会有很大差异连接数,每秒事务数,是否存在外部依赖关系(如数据库),异步处理如何完成,异步I / O如何完成,使用http / 2 vs http / 1,使用websocket,甚至$ {jetty .base}配置差异。

至于您看到的计数,50对100,对于生产服务器而言,这是 tiny 。中等繁忙系统上的许多生产服务器可以使用500(java)线程,而在非常繁忙的商品系统上,它可以在5,000+范围内。即使在专用硬件(如Azul系统设备)上,在多个活动网络接口的90,000+线程范围内也不是闻所未闻。