java - http 서비스의 CPU 스트레스 테스트 방법(tomcat)
女神的闺蜜爱上我
女神的闺蜜爱上我 2017-06-28 09:22:50
0
5
1197

전제: 안녕하세요 여러분, 이제 애플리케이션의 병목 현상이 어디에 있는지 알아보기 위해 tomcat 서버를 스트레스 테스트해야 합니다. 그런데 테스트 과정에서 jvm 리소스가 차지하는 CPU가 50%에 도달하지 않았으며 mysql도 마찬가지입니다. 아래로 끌려갔습니다.

이제 응용 프로그램 서비스의 병목 현상을 알아보고 싶습니다. 동시성이 높으면 CPU 사용량이 너무 높아집니다.
제가 생각한 방법은 코드 수준에서 여러 스레드를 생성하고, 데이터베이스를 읽고 쓰지 않고, CPU를 올리게 하는 것입니다. 가능합니까? ?
고마워요~~

女神的闺蜜爱上我
女神的闺蜜爱上我

모든 응답(5)
phpcn_u1582

일반적으로 웹 애플리케이션의 병목 현상은 데이터베이스입니다. 애플리케이션 서버(Tomcat이든 다른 서버이든)에 과부하가 걸리는 경우 일반적으로 서버를 추가하면 해결될 수 있습니다.

비용을 줄이고 애플리케이션 병목 현상이 있는 위치를 찾으려면 다음과 같은 스트레스 테스트 요령이 있습니다.

데이터베이스가 쉽게 다운되지 않도록 mysql 스토리지 엔진을 blackhole로 변경하세요.

洪涛

CPU를 너무 많이 차지한다면 링크 생성을 제한하기 위해 데이터베이스 연결 풀을 사용했나요? 데이터베이스 액세스를 줄이기 위해 거의 업데이트되지 않는 일부 데이터를 Redis와 같은 캐시에 배치하여 데이터를 검색하기 위해 매번 데이터베이스에 액세스할 필요가 없도록 할 수 있습니까?

간단한 스트레스 테스트의 경우 Apache 서버에서 ab를 사용하는 것을 좋아합니다. 복잡한 경우에는 JMeter를 사용하면 문제가 있는 곳을 더 쉽게 분석하고 찾을 수 있습니다.

仅有的幸福

jvm 리소스가 차지하는 CPU가 50%에 도달하지 않아 mysql이 다운되었습니다

이것은 데이터베이스 작업에 문제가 있는 것 같습니다. 예를 들어 SQL을 최적화해야 하거나 데이터베이스 작업을 줄이기 위해 캐싱을 추가해야 합니다. Tomcat과 관련된 내용을 볼 수 없습니다.

大家讲道理

Mysql이 다운된 것이 아닌지, Tomcat의 병목 현상이 아닌지 확인해야 합니다. 또한, 느린 SQL이 있는지, 전체 테이블 스캔이 있는지, 인덱스가 있는지 확인하려면 mysql 통계를 활성화해야 합니다. 효율적이다. 또한 데이터베이스의 동시성을 제어하기 위해 연결 풀을 사용했습니까? MySQL에서 지원하는 동시성은 CPU 코어 수와 관련이 있습니다. 일반적으로 느린 SQL은 데이터베이스를 쉽게 다운시킬 수 있습니다

世界只因有你

일반적인 시스템 병목 현상은 기본적으로 서버 수를 늘리고 요청을 최적화하여 해결할 수 있습니다. 더 큰 병목 현상은 기본적으로 데이터베이스 링크에 있습니다. 말씀하신 대로 요청 동시성 병목 현상을 테스트하고 싶지만 연결하지 않는 경우 테스트를 위해 데이터베이스에 추가하는 것은 기본적으로 효과가 없으며 실제 프로젝트에 도움이 되지 않습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿