포럼
저사양 서버의 XE
2013.02.04 17:53
요즘은 대부분의 서버가 듀얼코어 이상이고 메모리도 2기가 4기가 이상이다보니
저사양 서버를 언급하는것 자체가 무의미 할 수도 있겠습니다.
하지만, 가상서버 호스팅 상품이나 클라우드 서버 호스팅 상품이 많기 때문에
싱글코어 서버 환경을 생각해 보아야 합니다.
거기다가 윈도우 가상서버를 운영해 보았습니다.
제온CPU지만 싱글코어만 분양받고 램은 4기가 분양 받습니다. 상품 강제구성이 이렇습니다.
당연히 SSD가 아니라 HDD이며 윈도우 서버입니다.
iis 에다가 캐쉬까지 쓰면 빨라진다고는 하지만, 저처럼 세팅에 자신 없는 사람은 닥치고 APMSETUP입니다.
그리고 xe를 설치 합니다. dbms 는 mysql로 합니다.
컨텐츠를 약 5천개쯤 넣고 like 검색 들어갑니다.
싱글코어로 mysqld와 httpd 서비스가 서로 점유율 달라고 아우성 거리면서 100%를 만듭니다.
그상태로 약 4초 가까이 되자 100%가 그제서야 풀립니다.
mysql 은 DB 검색이 들어가니까 점유율이 높아졌을것이고,
http는 xml파싱이라던가 여러가지 php 코드를 처리하는 것이겠죠?
싱글코어로는 xe의 like 검색을 실시했을 때 무리라고 생각합니다.
(그래서 지금 서버 이전하려고 여기저기 기웃거리고 있습니다)
cpu점유율이 100%가 되면 다른 접속 자체가 막히고 딜레이 됩니다.
마치 무한루프가 돌아가는 상태와 같습니다.
다시말해 동시에 db에서 like검색하면 한사람로딩이 끝날때까지 다른사람은 대기중이 됩니다.
서비스로써는 부적격 하겠죠.
그런데 test.php파일 하나 만들고 db 연결해서 동일한 테이블에 like 로 직접 쿼리를 날려서 mysql_fetch_array를 이용하여
제목을 뽑아내면 1초도 안걸립니다.
이때 CPU 순간 점유율은 20-30% 정도 됩니다.
확인해보니 그 20%도 mysql의 순간 점유율입니다.
그래서 확실치는 않지만 조심스럽게 문제는 검색할때 php처리 부분이 관건이라고 결론내렸습니다.
그래서 저는 생각했습니다.
모듈을 만들때 queries 디렉토리의 xml 파일을 이용한 디비 쿼리 말고 controller 혹은 view 부분에 직접 select 쿼리를
날리는건 어떨까? 빨라질까? 하고 말이죠.
뭔가 디비에 쿼리하는 단계에 도달하기까지의 과정을 줄이면 빨라질까 하는 기대감입니다.
해보지는 않았습니다.
이런식으로 재구성하면 보안에 문제가 될까요?
제가 잘 모르는 단어인 sql 인젝션 어쩌구 하는 문제가 있을까요?