서버에 nginx 를 셋팅하고 ab 툴로 한창 부하 테스트를 하고 있엇다. 아파치 보다 훨등히 성능이 높다나.. 진짜 그런지 테스트를 하
는데 아파치 보다 결과가 좋지 않을뿐더러.. 동급 사양의 서버 보다 훨씬 못믿치는 Complete requests 가 나오는것이다.
왜 그럴까 하다까 생각하다가. 원인을 찾았다. fastcgi_pass 이 부분이 문제 였다
보통 기본 설정값이
fastcgi_pass 127.0.0.1:9000 이고 소켓으로 접근시 fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock 이다.
소켓경로는 환경에 따라 상이할수 있다.
TCP 로 접근히 네트워크 스택이 추가 되면서 당연히 다이렉트 소켓보다는 성능이 떨어진다. 여기저기 찾아보면 소켓방식이
TCP 보다 약간 빠르다고들 한다. 그러나 나중에 스케일링 즉 확장성에는 좋지못하다고 한다. 그도 그럴것이 TCP 방식으로 접근하
면 php-fpm 백엔드 서버를 여러대 두고 아이피를 통해 로드밸런싱? 같은 효과를 누릴수 있을것으로 생각이 된다. 이것 때문에 괜
히 삽질.... 난 또 설치를 잘못했나 했지..
테스트 환경
디지털 오션의 vps 서버 이며 CPU 는 E5-2630L 2.4GHz 이다.
1 CORE 1GB 사양이며 test.html 의 내용은 phpinfo() 함수 하나이며
ab -c 100 -n 100 -t 10 http://localhost/test.html 옵션값이다.