저는 Java 개발자입니다. 150 명의 동시 사용자가 우리의 애플리케이션에 부딪혔을 때 (프로덕트가 웹 로직 서버에 배포 된) 프로덕션 박스에서 성능을 향상시켜야합니다.12 개의 프로세서가있는 프로덕션 상자에서 구성 할 수있는 스레드 수
프로덕션 시스템은 4 개의 JVM, 2 개의 클러스터로 구성됩니다. 나는 각 JVM에 12 개의 프로세서가 있다는 것을 알았다. (당연히 잘 모르겠다. 박스 당 3 개, 완전히 12 개의 프로세서가있을 수있다.)
현재 우리는 기본 스레드 풀을 사용하는 weblogic에 JEE 응용 프로그램을 배포했습니다. Weblogic 버전은 10.x입니다. 버전 8.1 이후에는 기본 스레드 풀 (작업 관리자)의 스레드 크기를 변경할 수 없다는 것을 알고 있습니다. 우리가 얻는 문제는 20 명의 동시 사용자가 우리 서버에 닿았을 때 우리의 응용 프로그램이 완벽하게 작동한다는 것입니다 (4 개의 JVM). 나는 거기에 8 개의 스레드가 각 JVM에 대해 생성하고 거기에 24 스레드가 동시 사용자 요청 (완전히 4 상자, 그래서 24 스레드) 서비스가 있다고 생각합니다. 그러나 JVM 당 600 개의 요청과 150 개의 요청을 지원해야합니다 (로드 밸런서가 여기에 도움이됩니다). 그러나 문제는 평균 300 ms의 모든 요청을 처리하는 데 8000 ms가 걸립니다. 그것은 우리를 아프게한다.
이 문제를 해결하려면 75 개의 스레드가있는 작업 관리자를 만들고 응용 프로그램에 할당 했으므로 성능이 크게 향상됩니다. 참고 : 동일한 웹 로직에 20 개의 애플리케이션이 배포됩니다. 내 응용 프로그램에 75 개의 스레드를 사용하면 다른 응용 프로그램에 어떻게 영향을 미칩니 까?
언제든지 지연 요청없이 150 요청을 처리 할 수 있도록 조언 해주세요.
감사합니다. 우리는 weblogic 10.3.x를 사용하고 있습니다. 스레드 수를 설정하는 방법을 제공하지 않습니다. – user1346316