(가장 노가다 성이 강하고, 짜증나는 작업중 하나다. ^^)
이 작업을 왜 해야 하냐면...
성능테스트를 할때 서버에 부하를 주면 서버에서 오류를 내 뱉을 수가 있다. 보통의 성능 테스트 툴에서는 리턴 코드(HTTP Return code)가 200이면 정상적으로 처리했다고 간주하기 때문에, 오류 메시지를 보여주는 화면을 개발해 놓았다면 실제 오류가 발생한다고 하더라도 정상적으로 조회되었다고 간주해 버린다.
예를 들어 구글에서 "자바 성능을 결정짓는 코딩 습관과 튜닝 이야기"라고 조회를 하면,
반드시 Blog2Book 이라는 단어가 검색 결과에 있어야만 한다.
그런데 만약 구글에서 가끔 보여주는 Oppppps 라는 메시지가 넘어온다고 하더라도,
해당 페이지의 헤더에 리턴코드가 200 으로 넘어온다면, 시스템은 헛돌게 되고 성능이 좋은 것으로 잘못 판단할 수 있다.
그래서 다음과 같은 오류 체크 로직을 넣어야만 한다.
(확인하고자 하는 단어가 Blog2Book 일경우
Bl로 시작하고, ok로 끝나는 단어를 검색해서 og2Bo라는 단어가 그 사이에 있는지 확인하는 경우의 예이다)
lr_start_transaction("Search Java Performance");
...
//검증을 원하는 요청 앞에 다음의 코드를 추가해야 한다.
web_reg_save_param("ErrorCheck",
"LB=Bl",
"RB=ok",
"NotFound=WARNING",
"Search=Body",
"IgnoreRedirections=Yes",
LAST);
web_submit_data("XXXX",
...
...
//그리고 요청이 끝난 이후에 다음과 같이 체크를 한다.
if (strcmp(lr_eval_string("{ErrorCheck}"), "og2Bo")==0)
lr_end_transaction("Search Java Performance", LR_PASS);
else {
lr_end_transaction("Search Java Performance", LR_FAIL);
}
|
이렇게 로직을 해 놓으면 에러가 몇건이나 발생하는지 확인할 수 있다.
만약 확인하고자 하는 부분이 Transaction의 중간에 있다면, 다음과 같이 오류 메시지를 정의하면 될 것이다.
if (strcmp(lr_eval_string("{ErrorCheck}"), "og2Bo")!=0)
lr_error_message("Search Java Performance Error");
|
성능 테스트에 대한 더 자세한 내용은 Blog2Book 테스트 책에서~~~ ^^;