这样考虑问题:
tomcat有个默认链接线程池,默认设置是200,可调大.
操作系统本身有个连接队列(由操作系统管理的队列可调)。
这两个链接队列都可以调大,但要根据系统的CPU处理能力+能存大小做调整。一般操作系统的默认连接队列不用调(除非你机器性能真的很好,比如配置不高的PCServer,云虚拟机不要调整)。
操作系统上对连接队列需要占用的内存大小有定义,看一个连接占用的内存*可以支持的最大连接=操作系统处理连接需要的使用的内存。
【注意:为什么会说操作系统连接数,因为运行在操作系统上的任何网络程序,连接,数据转发,都是由操作系统中的TCP/IP模块负责完成的】
tomcat的连接也也有固定大小,看栈内存大小。内存栈大小*乘以你调整到的连接线程数=连接线程栈要使用的内存数。
操作系统内核,操作系统管理进程,进程本身都需要一定的内存才可以跑起来。这基本上属于固定内存。
程序(虚拟机进程),它自己在运行时,会创建对象(分配堆内存),调用方法(使用栈内存)。这块需要做系统压力测试评估系统上线后能支撑到多大的并发量。
(jsconsole会列出虚拟机的堆内存、栈内存、线程的、CPU等的使用情况)。
CPU资源考虑,如果你的应用属于计算密集型,内存能支持,CPU未必能支持得了。[压力测试的时候可以分析出来]。
不清楚你数据库是否是单独安装。如果不是,内存CPU使用要减掉数据需要使用部分。
这样才能综合评估出你系统究竟能支持多少连接数。