cpu는 Xeon E3-1230

 3.70 GHz

코어 수 4

스레드 수 8

 

메모리는 32기가

운영체제는 centos7

웹서버는 nginx

memcached  /Zend OPcache 사용하고

그누보드입니다

FPM/FastCGI사용하고요

1Gbit Port:이고요

 

 

그런데 현재 동접수 많아지면서 버벅대는데

 

top로 해보면

mysql 점유율이 게속해서 가장높습니다

계속해서 100프로 넘기는게 많고요

 

하지만 메모리는 남아돕니다

버벅은대도 메모리가 계속 20기가가 남아도는데

 

메모리이렇게 남아돌아도 버벅대는데 20기가 남는 메모리를 어떻게 활용하는방법 없슬까요?

 

이서버에서

어디를 어떻게 손봐주면 동접수가 많아지는경우 나아질까요?

 

 

혹시 밑에 현재설정 nginx conf에을  좀바꿔주면 나아질까요?

 

  proxy_buffer_size               128k;
          proxy_buffers                   4 256k;
          proxy_busy_buffers_size         256k;

          fastcgi_buffering               on;
          fastcgi_buffer_size             128k;
          fastcgi_buffers                 256 128k;

.         fastcgi_connect_timeout         600s;
          fastcgi_send_timeout            600s;
          fastcgi_read_timeout            600s;

   
          sendfile                        on;
          tcp_nopush                      off;
          keepalive_requests              0;
 

 

 

  • profile
    부하 원인을 파악하지 않은 상태로 답변하기 어려운 문제입니다.

    https://xetown.com/request
    작업의뢰 게시판에 서버 튜닝 의뢰 올리시면 가능하신분이 연락처를 남기실겁니다.
  • profile ?
    네 ㅜㅜ
  • profile
    8쓰레드 CPU에 mysql이 100% 사용한다면 전체의 1/8 정도 사용하는 것입니다.
    CPU도 남아돌고 메모리도 남아돌고... 있는 자원도 못 쓰고 있는 것 같네요.
  • profile ?
    기진곰님 답변감사합니다^^
    그런데 제가 1/8만 쓰는건지 어떻게 확인하는거에요?
    혹시 제가 어디를 체크해봐야할까요?^^:
  • ? profile

    논리적 코어 8개 = 총 800%
    CPU 점유율 100% = 전체의 1/8

    100%를 넘는다면 그만큼 더 쓰는 거고요. 예를 들어 200%라면 1/4

  • profile ?
    기진곰님 다시한번 답변감사해요^^
    기진곰님께선 이쪽분야 많이 아시는걸 느껴집니다
    그런데 mysql만 현재 cpu많이쓰고 메모리는20기가이상 남아도는데
    지금 서버 어디를 수정하는게 맞다고보세요?

    기진곰님의 고견을 듣고싶습니다^^
  • ? profile

    그누보드는 모든 테이블을 MyISAM 방식으로 생성하기 때문에, 동접수가 늘어나면 락이 걸려서 서버가 그냥 멍때리고 있는 경우가 많습니다. 다른 페이지에서 걸어 놓은 락이 풀리기를 기다려서 순차적으로 처리하려고 하니, CPU 코어가 여러 개 있더라도 1코어에 해당하는 작업만 하는 셈이지요. MyISAM이라는 방식 자체가 서버에 CPU가 2개만 있어도 고사양이라고 하던 시절에 만들어진 물건입니다...

    우선 DB에 있는 모든 테이블을 InnoDB 방식으로 변환하고, my.cnf에서 InnoDB 버퍼 용량을 늘려서 램을 제대로 활용할 수 있도록 해보세요. nginx에서 fastcgi 버퍼를 튜닝하는 것보다 그게 훨씬 더 큰 영향을 줍니다.

    단, 그누보드 관련 자료들은 MyISAM 방식에 맞추어져 있기 때문에 InnoDB로 바꾸면 역효과가 나는 부분도 있으므로 주의하시기 바랍니다. 예를 들어 관리자 접속시 하루에 한 번 MyISAM 방식으로 optimize table을 해주는 코드가 있는데, InnoDB 사용시 이 코드를 제거해야 합니다. 그 밖에도 InnoDB에서 오히려 느려지는 기능도 가끔 보입니다.

  • profile ?

    정말 기진곰님의 프로페셔날한 고견이였네요^^
    그누보드가 가지고있는 성격 과 문제점
    MyISAM 성격과 문제점을 파악하는데 많은도움됬습니다/
    innodb를변경하는것슨 저같은초보는 심사숙고를 해야하겠다는 점까지
    일깨워 주셨네요

    정말 긴글답변으로 설명 감사합니다

    기진곰님의 고견을 바탕으로 my.cnf버퍼부터 수정좀 해볼까합니다

    다시한번 답변 고견 감사해요^^

  • profile profile
    아하 InnoDB 변경 후 관리자 접속시 지연이 있었는데 그 이유 때문이었군요! 감사합니다!