728x90

IT/Server 7

[Apache] KeepAlive 설정을 통한 성능 튜닝

현재 아파치 2.5.54 버전을 사용중이며, 별도의 설정을 하지 않더라도 HTTP/1.1 버전이 기본적으로 사용된다. KeepAliveTimeout 개념에 대해 잠깐 짚고 넘어가도록 하자. 나의 경우 처음에는 세션이 유지되는 시간으로 착각하여, 대용량 파일 다운로드를 하는 경우 타임아웃 시간이 되면 세션이 끊어져버리는 것으로 이해하는 오류를 범하였다. 그러나 구글링을 해보니, 세션이 idle 인 상태를 유지하는 시간을 의미하는 것이다. 여기서 아래 기본값 스크린샷을 보면 세션이 idle 상태를 5초동안 유지하고 없애겠다는 소리다. 5초 이내에 다른 요청이 들어온다면 기존 것을 재활용하여 메모리 낭비를 막고 시간을 단축시키는 효과를 얻을 수 있다. 따라서 타임아웃 시간도 적절히 설정할 필요가 있다. 또한 ..

IT/Server 2023.01.11

[Apache] 아파치 튜닝 파일 다운로드 캐시 적용하기 (mod_expires)

아파치 서버에서 대규모 컨텐츠 다운로드 서버를 튜닝하면서 계속 기록을 남겨본다. 현재 구축하는 서버는 하루에 150~200만건 정도의 접속이 요청되는 서버이며, 이 중에 30~40만건은 파일 다운로드를 위한 요청이 들어오고 있는 상태이다. 아파치 기본 설정만으로는 이 많은 접속을 다 해결할 수도 없고, 로드밸런싱만도 답은 아니고, 다양한 아파치 튜닝이 필요할 것 같다. 기본적인 3-Tier 구조의 WEB-WAS-DB 구조이며, 별도의 파일 배포 서버를 별도로 가지고 있다. CDN을 구축하는 방법도 있으나 아직 저정도의 규모까지는 아니라는 판단이며, 비용적인 부분도 생각해야 해서 일단은 추가 배포서버만 구성하는 것으로 진행을 하고 있다. mod_expires 라는 것은 아차피 서버 내 정적 컨텐츠(그림, ..

IT/Server 2023.01.05

[Apache] Jmeter(제이미터) Error in NonGUIDriver com.thoughtworks.xstream.io.StreamException:

CentOS 에 Jmeter 설치 후 아래와 같이 ./jmeter -n -t ./test.jmx -l ./result.csv 같은 명령어를 실행할때 아래와 같은 오류가 발생하는 경우가 있다. 결론만 말하면 테스트 시나리오가 담긴 jmx 파일의 xml 형식에 에러가 발생하는 경우가 99.9% 이니, 본인이 작성한 시나리오 파일은 잘 살펴보자. 필자의 경우 아래처럼 xml 도입부가 잘못되어 발생하였다. 도입부가 아래와 같이 되어야 함을 명심하자 이걸 모르고 반나절을 구글링 해가면서 아래 웹페이지 가서 각종 삽질 다해봤으나 효과도 없고... ㅎㅎ; 참고 사이트 : https://sqa.stackexchange.com/questions/44420/unable-to-run-the-jmeter-test-plan-o..

IT/Server 2023.01.04

[Apache] Jmeter(제이미터) 테스트 시나리오 작성법(jmx 파일)

아래 글을 따라 Jmeter 를 설치했다면, 이제는 테스트 시나리오 jmx 파일을 작성할 차례다. [IT/Server] - [Apache] Jmeter(제이미터) 성능 테스트 도구 사용법 [Apache] Jmeter(제이미터) 성능 테스트 도구 사용법 우리가 서버를 개발하다 보면 반드시 해야하는 작업들이 존재한다. 기획 ▶ 개발 ▶ 검증 과 같은 당연한 일들을 해야 하는데.. 제일 중요한 것은 역시나 검증 부분이다. 검증 부분에서는 당연히 like-tomato.tistory.com 윈도우에서 작성하는 것을 추천한다. Jmeter GUI 를 실행한다. 1. Jmeter GUI 를 처음 실행하면 다음의 화면이 보여진다. Name 을 원하는대로 작성한다. (예. My Test Plan 등) 2. Thread ..

IT/Server 2023.01.04

[Apache] Jmeter(제이미터) 부하 테스트 방법(콘솔 명령어 기반)

Jmeter 는 아파치에서 배포하는 오픈 소스 성능 테스트 도구이다. Jmeter 설치 전이면 이전 글을 보고 설치 후 이 글을 보도록 하자. [IT/Server] - [Apache] Jmeter 성능 테스트 도구 사용법 [Apache] Jmeter 성능 테스트 도구 사용법 우리가 서버를 개발하다 보면 반드시 해야하는 작업들이 존재한다. 기획 ▶ 개발 ▶ 검증 과 같은 당연한 일들을 해야 하는데.. 제일 중요한 것은 역시나 검증 부분이다. 검증 부분에서는 당연히 like-tomato.tistory.com 공식 홈페이지를 가보면 다음과 같은 많은 기능들이 제공되는 아주 유용한 도구로 설명을 하고 있다. 다만 부하 테스트(load test) 시에는 CLI(Command-line mode) 모드로 진행하는 것..

IT/Server 2023.01.03

[Apache] Jmeter(제이미터) 성능 테스트 도구 사용법

우리가 서버를 개발하다 보면 반드시 해야하는 작업들이 존재한다. 기획 ▶ 개발 ▶ 검증 과 같은 당연한 일들을 해야 하는데.. 제일 중요한 것은 역시나 검증 부분이다. 검증 부분에서는 당연히 사용자 테스트와 성능 테스트 2가지가 실행되어야 하며, 적절한 품질 수준까지는 올라와야 운영에 문제가 덜 생긴다. (안 X, 덜 O ◐_◑ㆀ) 그 중에 대표적인 오픈 소스 테스트 도구인 Jmeter 가 있다. 간단한 API 콜 테스트부터 파일 다운로드 테스트 까지 다양한 것을 해낼 수 있는 툴이다. https://jmeter.apache.org/download_jmeter.cgi Apache JMeter - Download Apache JMeter Download Apache JMeter We recommend yo..

IT/Server 2023.01.02

[아파치/톰캣] AH00287: server is within MinSpareThreads of MaxRequestWorkers, consider raising the MaxRequestWorkers setting 에러 해결

아직까지 너무나 어려운 미들웨어의 셋팅... 튜닝... 운영... 난 미들웨어 운영 담당자가 아닌데 왜...??!??!?? 아직까지 본 에러 원인 분석이 진행되고 있다. 1. WAS의 Tomcat(이하 톰캣) 에서 파일 I/O 관련하여 처리가 되지 않고 있다. 2. WEB의 Apache(이하 아파치) 의 동시 접속자 처리가 되지 않고 있다. 3. 애초부터 WEB/WAS에서 받아줄 수 있는 수용량을 한참 넘어선 트래픽이 들어오고 있다. 4. 인프라(네트워크, 디스크, 로드밸런싱)에 문제가 있다. 위의 4가지를 원인으로 생각하고 하나씩 분석을 진행중이며, 4번의 경우 이슈 발생 당시의 모든 로그 및 모니터링 내용을 분석한 결과 문제가 없음으로 판단하고 지웠다. 사실 제일 의심이 가는 것은 톰캣이 API 통신..

IT/Server 2022.12.28
728x90