具體能承載多少並發,需要看硬件的配置,CPU 越多性能越高,分配給 JVM 的內存越多性能也就越高,但也會加重 GC 的負擔。
當某個應用擁有 250 個以上並發的時候,應考慮應用服務器的集群。
並發和同時在線用戶數是不壹樣的,因為不同的用戶操作是有間隔的。如果邏輯復雜,請求執行時間過長,就會占用過多的性能,導致同時在線用戶數下降,但是對並發沒有影響。
操作系統對於進程中的線程數有壹定的限制:
Windows 每個進程中的線程數不允許超過 2000;
Linux 每個進程中的線程數不允許超過 1000;
另外,在 Java 中每開啟壹個線程需要耗用 1MB 的 JVM 內存空間用於作為線程棧之用。