2014-10-31 2 views
1

MYSQL 데이터베이스를 사용하여 웹 응용 프로그램을 실행하는 Windows 7 x64 (jdk_1.8. 사용)에서 실행되는 Apache Tomcat 7이 있습니다. 요청해야하는 장치의 크기 (TCP/IP)가 증가하면 일부 장치가 즉시 응답하지 않습니다. - Apache는 성능에 문제가 있습니다. 나는 거대한 프로젝트를 다룰 준비가되어 있지만 데이터베이스의 설정을 변경하는 것은 별 문제가 아니라는 점을 읽었습니다. 그래서 데이터베이스 오류가 아니라고 가정하고, 나는 아직도 바람둥이 설정에 문제가있다. server.xml의 (~ \ 아파치 \ conf의 \ server.xml을) 내가 가진 followng 설정 :Tomcat 7 performace ISSUES (WIN 7 x64)

<Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" 
      maxThreads="1000" minSpareThreads="100" 
      connectionTimeout="20000" 
      acceptCount="500" 
      redirectPort="8443" 
      compression="on" 
      compressionMinSize="2048" 
      noCompressionUserAgents="gozilla, traviata" 
      compressableMimeType="text/html,text/xml,text/javascript,application/x-javascript,application/javascript" 
      /> 

자바 JRE 설정 : -Xms8192m -Xms16384 -Xss512k

톰캣에서

나는 다음과 같은 설정이 있습니다 : 풀 크기가 작은에 여전히 일부 요청이 http://fotoo.pl/show.php?img=899437_bezntytu-u.png.html

을 거부해야하기 때문에 아파치 톰캣에서 http://fotoo.pl/show.php?img=899435_1.png.html

인쇄 화면이 7 많은 예외와 경고를 생성

제 질문은이 서버를 실행할 전용 컴퓨터가 있고 32GB 캐시 메모리, Proccessor Intel Core i7-4930K 3.30GHz 및 SSD 디스크가있는 경우 해당 설정을 server.xml 및 Apache Tomcat 속성에 설정하는 방법입니다. 내 Tomcat의 성능을 향상시킵니다.

내 질문에 대한 답변을 얻으려면 추가 정보가 필요하면 문의하는 것을 두려워하지 마십시오.

답변

0

가져 오기 : Windows는 웹 애플리케이션을 제공하기위한 최고의 OS가 아닙니다. 꽤 대조적 인 것. 파일 시스템은 완전히 끔찍합니다 (NTFS 및 ReFS는 ext4 또는 xfs보다 약 20 % 느립니다). 그런 다음 GUI에 대한 RAM 오버 헤드가 있습니다. 그리고 미사용 RAM이 좋은 RAM이라는 생각에 기반한 미친 메모리 관리 (프로세스가 일부 메모리를 요청할 수 있기 때문에) 때문에 가능한 한 많은 물리적 RAM을 유지하기 위해 적극적으로 페이지 아웃합니다.

acceptcount 값도 의미가 없습니다. 많은 요청을 대기열에 넣는 것이 성능 향상에 도움이되지는 않습니다. 실제 문제를 숨 깁니다. 이것이 피크를위한 작은 버퍼를 제공하기위한 것이기 때문에 낮은 값으로 설정하십시오. 또한 작업을 수행하는 프로세스에 대해 RAM을 사용합니다.

Maxthreads는 최대 1k 개의 연결을 DB에 열 수 있음을 의미합니다. 여기서 병목 현상이 있다고 가정합니다. 또한 1k 동시 사용자가있는 경우 각 사용자별로 사용할 수있는 RAM이 16MB 밖에되지 않는다는 것을 의미합니다 (예, 대략적인 계산이지만, 분명히 나타납니다). 응용 프로그램에 따라 동시 사용자에게 훨씬 더 많은 것을 요구하십시오. RAM/동시 사용자가 200MB를 초과하는 응용 프로그램을 보았습니다.

그래서 나는 모두 당신이 확장하고 확장해야한다고 말하고 싶습니다.

전적으로 편향된 메모 : 기기가 전용 인 경우 GNU/Linux 또는 Unix를 사용하십시오.

+0

친애하는 마크, 나는 리눅스에서만 운영 시스템을 교환 할 수 없으므로 (이 종류의 플랫폼에서 중급의 경험이 있음에도 불구하고) WIN에서만 실행되는 PLC 소프트웨어라는 사실입니다. 따라서이 경우 전체 애플리케이션 변경을 적용 할 수 없습니다. 모두 제일 좋다. – user4201838

+0

내가 언급 한 _values_을 조정하면 Windows 나 Linux에서 Tomcat을 실행하는 데 아무런 도움이되지 않습니다. –