제 사이트 트래픽이 엄청 많은거였네요 = _=

· 2012-07-16 (월) 21:33:45 · 3671 · 16
앞에 서버세팅 조언을 구합니다. 에서
많은분들이 조언을 해주셔서

이번에 nginx + php-fpm  으로 교체를 해봤습니다.
동접자 제한 좀 넉넉하게 풀어주고...

3시간정도 돌려보았는데요.

깜박하고 gzip 설정을 제대로 안해서 압축없이 트래픽이 나갔는데... 대역을 보니 60Mbps = _=...

그동안 10Mbps 안짝에서 놀았던지라... 제 서버가 그렇게까지 방문자가 많아서 대역이 폭발한다! 라는 느낌은 없었는데..

제 서버 접속수는 생각보다 많았던겁니다. OTL

현재 nginx worker_connections  102400;  정도 올려두고...
fastcgi 버퍼도 

fastcgi_buffers 4 256k;
fastcgi_buffer_size 128k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;

이정도 늘려주었는데... 간간히 502 에러와 사이트 응답이 10~20초간 없는경우가 있는걸로 봐선...
nginx도 못버텨주는건지... 심히 걱정이네요. ㅠ _ㅠ


Cpu(s): 24.1%us, 11.9%sy,  0.0%ni, 62.8%id,  0.5%wa,  0.0%hi,  0.6%si,  0.0%st
Mem:   4018668k total,  2284132k used,  1734536k free,   141712k buffers
Swap:  4008208k total,   107812k used,  3900396k free,  1192116k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND           
 5472 mysql     15   0  839m 288m 3228 S 175.0  7.4   1355:47 mysqld            
  669 nginx     15   0 87876  45m  940 S 13.6  1.1   0:40.52 nginx              
 1586 nobody    15   0  151m  10m 3900 S  4.0  0.3   0:01.82 php-cgi            
 1677 nobody    15   0  151m  10m 3900 S  4.0  0.3   0:01.34 php-cgi            
 1722 nobody    15   0  150m  10m 4004 S  4.0  0.3   0:00.93 php-cgi            
 1571 nobody    15   0  151m  10m 3916 S  3.7  0.3   0:01.84 php-cgi            
 1582 nobody    16   0  150m 9748 3880 S  3.7  0.2   0:01.86 php-cgi            
 1585 nobody    16   0  150m 9848 3984 R  3.7  0.2   0:01.73 php-cgi            
 1636 nobody    15   0  144m 7448 3624 S  3.7  0.2   0:01.40 php-cgi            
 1709 nobody    15   0  151m  10m 3896 S  3.7  0.3   0:00.99 php-cgi            
 1752 nobody    15   0  150m  10m 3884 S  3.7  0.3   0:00.73 php-cgi            
 1785 nobody    15   0  144m 7420 3616 S  3.7  0.2   0:00.36 php-cgi            
 1574 nobody    15   0  143m 7268 3704 S  3.3  0.2   0:01.92 php-cgi            
 1575 nobody    15   0  151m  10m 3928 S  3.3  0.3   0:01.90 php-cgi            
 1591 nobody    15   0  150m  10m 4260 S  3.3  0.3   0:01.80 php-cgi            
 1594 nobody    15   0  144m 8512 3676 S  3.3  0.2   0:01.76 php-cgi            
 1611 nobody    16   0  150m  10m 3896 S  3.3  0.3   0:01.78 php-cgi            
 1614 nobody    16   0  151m  10m 3900 S  3.3  0.3   0:01.66 php-cgi            
 1620 nobody    15   0  149m 9124 3780 S  3.3  0.2   0:01.59 php-cgi            
 1775 nobody    15   0  143m 7612 4008 S  3.3  0.2   0:00.43 php-cgi            
 1778 nobody    15   0  150m  10m 3876 S  3.3  0.3   0:00.44 php-cgi            
 2617 sharedan  15   0 68180  548  436 S  3.3  0.0  22:21.99 sharedanced        
 1680 nobody    15   0  150m  10m 3872 S  3.0  0.3   0:01.22 php-cgi            
 1695 nobody    15   0  150m 9968 3892 S  3.0  0.2   0:01.17 php-cgi            
 1749 nobody    15   0  143m 7576 4008 S  3.0  0.2   0:00.75 php-cgi            
 1769 nobody    15   0  151m  10m 3896 S  3.0  0.3   0:00.51 php-cgi            
 1772 nobody    15   0  150m 9752 3876 S  3.0  0.2   0:00.52 php-cgi            
 1782 nobody    15   0  143m 7180 3616 S  3.0  0.2   0:00.34 php-cgi            
 1797 nobody    15   0  143m 7204 3620 S  3.0  0.2   0:00.24 php-cgi            
 1544 nobody    15   0  151m  11m 3996 S  2.7  0.3   0:02.04 php-cgi            
 1683 nobody    15   0  150m 9.8m 3884 S  2.7  0.3   0:01.17 php-cgi            
 1617 nobody    15   0  151m  10m 4032 S  2.3  0.3   0:01.63 php-cgi            
 1837 nobody    16   0  149m 8588 3472 S  1.7  0.2   0:00.05 php-cgi            


php-cgi 가 리스트를 다 먹어버리네요.. 꺄울... ㅋ

아 서버 더 늘릴돈은 없는데 심히 걱정입니다.
부디 nginx 가 버텨주기를 바랄 수 밖에 없겠네요. ㅠ

|

댓글 16개

다시 확인해보니 서버 메모리도 4GB = _=
서버메모리를 더 늘려서 좀더 버텨볼까봐요...
2012-07-16 (월) 21:45:57
많이 부럽네요 .~~
수익모델 좋은거 하나 만드셔서 서버비 충당하는 방법도 생각해보심이 좋을꺼 같아요
수익모델같은거.. 없습니다. ㅠ _ㅠ
2012-07-16 (월) 21:46:56
php-fpm
max thread 는 48~50 (이상이면 소용없는중 압니다~)
max request는 4천

php.ini
limit memory 살짝 올려 주었고

nginx
keepalive_timeout 는 0으로 주었습니다~

-----------------

지극히 개인적은 설정입니다 ㅠ
따라하셔서 피해보시면 책임지지 않습니다ㅠ
<value name="max_children">30</value>

Settings group for 'apache-like' pm style
<value name="apache_like">

Sets the number of server processes created on startup.
Used only when 'apache-like' pm_style is selected
<value name="StartServers">30</value>

Sets the desired minimum number of idle server processes.
Used only when 'apache-like' pm_style is selected
<value name="MinSpareServers">30</value>

Sets the desired maximum number of idle server processes.
Used only when 'apache-like' pm_style is selected
<value name="MaxSpareServers">30</value>

</value>

<value name="max_requests">1000</value>

일단 요렇게 정도만 세팅해보았습니다. = _=;;
2012-07-16 (월) 22:02:18
max_children 48
StartServers30
MinSpareServers15
MaxSpareServers45

로 한번 해보시겠어요~?
고쳐보았습니다.
http://dev.arzz.com
속도가 어떤지 한번 확인부탁드려도 될까요? ㅠ
빠르게 반응하네요
바로바로 뜹니다.
다행이네요. 일단은 좀 버텨봐야겠습니다.
http://httpd.apache.org/docs/2.0/ko/misc/perf-tuning.html
아파치 관련 문서지만 nginx도 해당된다고 생각되네요.
메모리 추가하셔야 될거 같아요

스왑사용하면 느려지죠
메모리는 추가적으로 주문을 넣어놨는데...
과연 이 상황에서 보시다싶이 mysqld 부하가 엄청난데. 이를 따로 때어내면 좀 나아질까요? 느리더라도 서버가 죽지만 않으면 되는데 자꾸 죽어놔서 ㅠ _ㅠ
저사양 서버 쓸때 쓰던 꼼수인데요

스왑메모리 사용량을 리포팅 해주는 스크립트를 만드셔서 스왑이 올라간다 싶으면 직접 fpm-php, nginx 를 재시작 해주거나
스왑메모리가 일정이상 올라가면 자동으로 서비스 재시작 가능하게 해주시면 서버가 다운되지는 않을것 같습니다.
그 정도 꼼수까진 부리고 싶지 않아요 흑흑...
대규모 사이트 운영하는 사람들 보면... 부러울따름입니다. OTL
2012-07-16 (월) 23:50:00
메모리는 16기가로 늘리시구요.
mysql을 분리하시면, 아마 다른 문제에 발생할것 같네요.
지금 웹서버랑 mysql서버가 동일서버에서 localhost를 호출함으로 port자원을 사용하지 않을겁니다.(unix_socket인가 하는 파이프를 쓰는걸로 mysql.sock 파일이 이파일)
분리하게 되면, tcp 통신을 해야함으로 웹서버는 지금 상황에서 port자원이 두배로 필요하게 됩니다.
mysql 서버도 포트를 써야 하구요.

현상에서는 cpu좋은거 + ssd + 메모리가 최선이고, 돈이 있으면,
webserver 는 3대정도, db는 리플리케이션으로 구성하는게 좋을것 같습니다.
디비서버를 한개 더 꼽는다면
지금 서버 바로 밑에 꼽아서 로컬랜으로 돌려볼려구요.
그러면 소켓자원은 낭비가 안되지 않나요??
2012-07-17 (화) 10:12:13
사설망도 랜장비를 통한 tcp/ip 로 접속합니다.
댓글을 작성하시려면 로그인이 필요합니다.

자유게시판

202,908건
+
제목 글쓴이 날짜 조회
12-07-17 조회 1,204
12-07-17 조회 1,284
12-07-17 조회 1,239
12-07-17 조회 1,328
12-07-17 조회 2,160
12-07-17 조회 1,306
12-07-17 조회 2,076
12-07-17 조회 1,560
12-07-17 조회 2,456
12-07-17 조회 1,238
12-07-17 조회 1,420
12-07-17 조회 1,754
12-07-17 조회 1,239
12-07-17 조회 1,594
12-07-17 조회 1,161
12-07-17 조회 986
12-07-16 조회 3,672
12-07-16 조회 4,986
12-07-16 조회 2,372
12-07-16 조회 1,099