2010-02-17 3 views
1

필자가 만든 웹 앱을 스트레스 테스트하기 위해 파일롯을 사용하고 있습니다. 이 테스트는 100 명의 사용자가 앱에 로그인 한 것을 시뮬레이션하고 테스트는 200 초 동안 지속됩니다. 평균적으로 약 MySql에 대한 4800 개의 요청이 서버와 동일한 수의 연결로 이루어지며 각 연결은 5 개의 쿼리를 실행하므로 테스트 중에 약 24,000 개의 쿼리가 발생합니다.웹 앱 스트레스 테스트

쿼리가 간단하고 테이블에 데이터가 거의 없습니다. 문제는 테스트하는 동안 웹에서 앱에 액세스 할 수 없다는 것입니다. MySql에 연결할 수 없거나 응답 시간이 매우 느립니다. 테스트는 CentOS VMware Image에서 수행됩니다. 내 PC (512MB의 메모리가 할당 됨)에 있습니다. 4809 오류 : 1 평균 응답 시간 : 3.358 평균 처리량 : 23.53 현재 처리량 : 420 바이트 수신 : 193,028

나는 아래

테스트

요청의 결과입니다 연결 오류가 낮은 엔드 테스트 환경에 의해 발생하지만, 거기에 내가 더 많은 연결을 받아들이도록 MySQL을 조정할 수있는 방법이라고 생각하십니까?

감사합니다.

답변

0

오류에 대해 자세히 알아보십시오. 결과를 확인하거나 웹 사이트에 로깅을 추가하십시오.

0

연결 풀을 사용하고 있습니까? 당신이 연결을 사용하는 경우

# The maximum amount of concurrent sessions the MySQL server will 
# allow. One of these connections will be reserved for a user with 
# SUPER privileges to allow the administrator to login even if the 
# connection limit has been reached. 

max_connections=500 

:

의 MySQL의 최대 연결은 쉽게 당신이 진정으로 밖으로 실행하는 경우, 설치는 MySQL에서의 my.ini 또는 my.cnf 파일 중 하나에이 블록에 대한 디렉토리를 찾아 증가시킬 수있다 풀을 사용하면 MySQL이 사용할 수있는 500 개 중 250 개를 사용할 수있는 크기로 제한 할 수 있습니다. 그러면 웹 액세스가 연결되도록 250 개의 "예비"포트가 있습니다. 로그인 프로세스 100, 데이터 읽기 100, 데이터 쓰기 100 등을 제공하는 것은 상당히 독창적 일 수 있지만 이는 분명히 애플리케이션 디자인에 상당한 영향을 미칩니다.

+0

안녕 브라이언, 나는 수영장과 768에 있습니다 my.cnf 파일에 설정 MAX_CONNECTIONS를 사용하고 있지 않다, 그래서 충분히 연결을 쉽게 설정할 경우 내가 – Thomas

+0

(나는 믿는다) 연결에 문제가 없어야 없음 수영장 나는 그것을 줄 것이다; 그러한 스트레스 테스트를 통해 연결 한계에 도달 할 수도 있습니다. 어느 쪽이든 아니면 그냥 1500로 설정하고 어떻게 진행되는지보십시오 :-) – Brian