2017-12-27 4 views
0

초당 500 명의 사용자에 대해 jmeter에서 부하 테스트를 수행하고 있습니다. 나는 JMeter를 동일하게 사용하고있다. 로드 테스트를 실행하는 동안 계속해서 로그인 API에서 오류가 발생합니다. 다음은 시간 제한을 보내고받는 요청 및 응답입니다.로드 테스트 jmeter 실행 중에 게이트웨이 시간 초과가 발생했습니다.

샘플 요청

POST https://example.com//9000/v1/api/user/login 

POST data: 
{ 
     "email":"[email protected]", 
     "password":"abcdef" 
} 

[no cookies] 

Request Headers: 
Connection: keep-alive 
Content-Type: application/json 
: 
Content-Length: 79 
Host: botstest.smartbothub.com 
User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_151) 

서버의 Nginx의 설정 파일은 아래 도시 된 바와 같이 샘플 응답

Thread Name: Thread Group 1-310 
Sample Start: 2017-12-27 11:30:06 IST 
Load time: 61422 
Connect Time: 1148 
Latency: 61422 
Size in bytes: 363 
Sent bytes:286 
Headers size in bytes: 171 
Body size in bytes: 192 
Sample Count: 1 
Error Count: 1 
Data type ("text"|"bin"|""): text 
Response code: 504 
Response message: Gateway Time-out 

Response headers: 
HTTP/1.1 504 Gateway Time-out 
Server: nginx/1.10.3 (Ubuntu) 
Date: Wed, 27 Dec 2017 06:01:07 GMT 
Content-Type: text/html 
Content-Length: 192 
Connection: keep-alive 


HTTPSampleResult fields: 
ContentType: text/html 
DataEncoding: null 

. https://drive.google.com/file/d/1_XWYeqSAWZz6dtnTTCeLOEMzDwvEWwY1/view

+0

아마도 504는 nginx (또는 업스트림 응용 프로그램)의 부하가 높고 올바르게 응답 할 수 없음을 의미합니다. –

+0

어떻게이 문제를 해결하려면 동일한 nginx 구성을 변경해야합니까? – Ankita

+0

구성? 아마도별로 할 일이 아닙니다. [튜닝 가이드] (https://www.nginx.com/blog/tuning-nginx/)를 확인할 수 있습니다. 하지만 내 생각 엔 당신이 실제로 실행중인 실제 서버에 과부하가 걸렸다는 것입니다. 서버의 CPU 사용량을 확인하십시오. –

답변

1

Nginx 서버가 과부하 일 가능성이 높습니다. 따라서 요청을 적시에 처리 할 수 ​​없으므로 오류가 발생합니다.

여러 문제로 인해 발생할 수 있습니다

  1. Nginx의 서버가 단순히 하드웨어 리소스 (CPU, RAM, 네트워크 또는 디스크)이 부족하다. Nginx 측에서 위에서 언급 한 리소스를 모니터링하여 충분한 헤드 룸이 있는지 확인하십시오. 즉, JMeter PerfMon Plugin
  2. Nginx 서버 구성은 고부하에 적합하지 않습니다. 기본 구성은 500 명의 동시 사용자를 처리하는 데 적합하지 않을 수 있으므로 How to Configure nginx for Optimized Performance 문서를 확인하여 설정이 권장 사항과 일치하는지 확인하십시오. 기본적으로 기계가 상대적으로 유휴 상태이고 높은 응답 시간 및/또는 낮은 처리량을 얻는 경우 Nginx 설정의 대부분을 얻으려면 점 1과 점 2를 결합해야합니다. 웹 응용 프로그램이나 인프라 설정에 문제가 있습니다.
  3. Nginx 시간 초과보다 빠른 응답을 생성 할 수없는 응용 프로그램에 문제가있을 수 있습니다. 로그를 확인하고 무슨 일이 일어나고 있는지를 profiling tools을 통해 확인하십시오 - 응용 프로그램이 가장 많은 시간을 보내는 곳을 감지 할 수 있습니다
  4. LAN 인프라 대신 LAN 대신 WiFi를 사용하고 있거나 결함이 있습니다 라우터 또는 기업 프록시의 한계에 도달했습니다. 존재와 관련 무엇이든, JMeter를 기록, Nginx와 로그, OS 로그 : Wireshark

그러나 모든 읽기 로그의 첫번째 같은 스니퍼 도구를 사용하여 네트워크 트래픽을 캡처하는 것도 좋은 생각 일 수 있습니다. 아마 당신은 그 (것)들에게서 원인을 알아낼 것입니다.

관련 문제