테스트 사이트 - 개발 중인 베타 버전입니다

성능 테스트 & 튜닝

· 15년 전 · 938 · 4
성능 테스트에서 가장 중요한건,, 툴의 사용법을 익히는 것입니다.
초 고수라면 감으로 병목지점을 추정하겠지만,
병목지점은 하나가 아니라, 여럿일수 있고, 첫째 병목을 해결하면, 그다음 병목지점이 발생하게 마련입니다.

따라서 툴에 의존하는 성능 테스트는 차후 리뉴얼이나 업그레이드시에도 재사용이 가능합니다.

성능 테스트에 필요한 툴은 크게 두가지입니다.

1. 스트레스 테스트 툴
2. 시스템 모니터링 툴

- 스트레스 테스트
그누보드를 기준으로 한다면, 스트레스 테스트 시나리오도 필요없고, 그냥 메인페이지만 성능 테스트 하면 됩니다.
가장 병목이 많이 생기는 지점이니까요.
테스트시에 peek 시간대의 동접자를 예상해서 스트레스를 주는게 좋습니다. 예상치보다 한 10% 크게 잡는게 좋겠네요.


- 시스템 모니터링
PHP는 apache에 의존하여 process fork 방식으로 동작(설정에 따라 pthread 방식) 함으로
apache와 php 두가지를 모두 체크해야 합니다.
그누보드를 기준으로 한다면 역시 mysql 이 주요 병목지점이죠.
이 경우 mysql의 processlist 가 모니터링 대상이 됩니다.


- 튜닝
disk i/o 와 관련된 작업이 많거나, 데이타 오브젝트, db 접근이 많은 시스템은 캐싱이 필수입니다.
그누보드에 대한 성능 튜닝은 mysql query 수정과 데이타 캐싱이 핵심입니다.
그누보드에서 캐싱은 흔히 메인 페이지 데이타를 주기적으로 캐싱하는 방법을 사용합니다.
캐싱 주기에 따라 실 데이타와 시간오차가 생기는 단점이 있지만, 코딩이 쉽고, 성능을 획기적으로 높혀주기 때문에 많이 사용하죠.
캐싱에는 LRU 나 MRU, FIFO .. 등 여러가지 방법이 있습니다.


...
ps) 현재 자바로 솔루션 개발중인데, 성능 테스트를 준비하다가 생각나는대로 적어봤습니다.






댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 4개

고생 많습니다!
덕분에 플머방에 자주오면 좋을거 같단 생각이네요 ㅎㅎ
스트레스는 받지 마시길 ~ㅎ
15년 전
전 sir 사이트가 참 좋습니다.
공유하고 싶은 좋은 자료들도 많이 올리도록 할께요.
명랑폐인님이 가끔가다 써 놓은 글을 보면 볼만합니다. 자신감도 상당하시고 글 잘 읽었습니다. 힘찬 한주 되십시요!
15년 전
밤에 이것저것 생각하면서 적은 글인데, 역시 아침에 보니 부끄럽네요.
지금 성능 테스트 관련해서 보고 있는 툴이 있는데, 손에 익으면, 사용법도 한번 올려볼께요.. 힘찬 한주 되세요.^^

게시글 목록

번호 제목
20215
20214
20213
20212
28362
20211
20210
20209
20208
20207
20206
20205
20204
20203
20202
20201
20200
20199
JavaScript 계산기
20198
20197
20196
20195
20194
20193
20192
20191
20190
20189
20188
28361
20187
20186
20185
20184
20183
20182
20181
20180
20179
20177
8183
31027
8181
20176
20175
20174
20173
20172
20171
20170
20169
20168
20156
20154
20153
20152
8177
20151
20149
20148
20147
20146
20145
20144
20143
20142
20141
20140
20139
20137
20135
20134
20133
20129
20128
20126
8172
20123
20122
20121
20117
20116
20115
20114
20113
20112
20111
20110
20109
20108
20107
20106
20104
20103
20102
20101
31024
20100
20099
20098