mysql 설정을 하고나서 한참을 그냥 될대로 되라 하고 살았네요.

(전문가 분께서 일반적인 최적 셋팅은 해주셨습니다.)

 

사용하면서 큰 문제점도 없었구요...설정이 크게 나쁜것 같지는 않아서요 ㅎㅎㅎㅎ

 

 

그러다가 오늘 Mysqladmin으로 경고값을 확인해보니..

 

aaa.png

 

 

이렇게 나오네요..

 

그래서 빨간 동그라미 값을 확인해보니 64M으로 잡혀 있는걸 128M 으로 늘리려고 합니다.

 

더불어 max_heap_table_size=128M으로 같이 수정하려고 합니다.

 

 

결론적으로

 

max_heap_table_size=128M

tmp_table_size=128M 이렇게 수정하고자 합니다.

 

기존값은 둘다 64M 이었습니다.

 

제가 제대로...잘하는건지...

 

 

더불어 위 빨간 값들이 없어 지려면 어떤 값들을 손봐야 하는건지도 조언 부탁 드립니다.

 

검색 열씨미 하고 있겠습니다.

 

조언 부탁 드립니다.

 

 

  • Lv36

    인덱스가 없는 컬럼으로 검색 또는 정렬을 하거나, 불필요하게 많은 조인을 해서 대용량 임시 테이블의 생성을 유발하는 쿼리가 있는 것 같습니다. 비효율적인 쿼리는 배려의 대상이 아니라 개선의 대상입니다. 슬로우 로그 등을 사용해서 어떤 쿼리인지 확인해 보고, 개선이 도저히 불가능한 경우에만 버퍼 크기를 조정하시기 바랍니다.

     

    흔히 서버 튜닝에 사용되는 단순한 툴들은 실제 기록된 최대값을 기준으로 버퍼 크기 등을 더 여유있게 늘리라고 조언하곤 하는데, 이런 조언을 너무 쉽게 받아들이면 안 됩니다. 실제 기록된 최대값이 왜 그렇게 높은지 파악해서 원인을 제거하는 것이 증상만 치료하는 것보다 훨씬 이익이거든요. 32톤 중량 제한이 있는 다리에 양심불량 업자들이 50톤씩 싣고 다닌다고 해서 중량 제한을 50톤으로 풀어줄 필요는 없잖아요? 과적 단속을 강화해야지요.

     

    특히 phpmyadmin처럼 오래된 툴은 그냥 참고만 하고 너무 신경쓰지는 마세요.

  • Lv36 ?

    저는 제가 만든 프로그램과 XE 두개만 사용하고 있습니다.

    제가 만든 프로그램에는 조인 연산 자체가 1개도 없습니다.

     

    제가 만든 테이블에는 모두 인덱스가 있습니다...

    Xe에서 사용하는것이 문제일수 있다고 추측해 봅니다.

    제가 만든프로그램이 조금 특이한게...

    현재 테이블만 약 5천개 정도 이고 각 테이블당 데이터는 100개 내외를 사용하는 어찌보면 기형적인 구조를 가지고 있습니다.

    1개 테이블에 10만건씩 넣고 돌리는 DB와는 조금 다른 상황인지라...

    table라는 단어에 민감하게 반응한것 같습니다.....

    추후 테이블이 7천~1만개 정도까지 늘어날것 같습니다.

    별문제 없을까요???


    앞서 8월 성수기때 로드에버리지가 5정도까지 올라가더라구요.

    평소는 1 내외인데...... 4코어 8스레드인 상황이라서..

    다음 9월 15일 성수기를 대비해야 하는데 사이트가 날로 커지다보니...

    얼마나 부하가 더 걸릴지 모르겠습니다. DB라도 어떻게 튜닝하면 괜찮을려나 하는 작은 바램이..

    서버를 망칠까 염려 됩니다...


    서버를 더 좋은걸로 바꾸어야하나 별고민 다하고 있습니다.

    조언 부탁 드립니다.

  • ? Lv36
    네, XE 모듈이나 위젯들 중에 굉장히 비효율적인 쿼리를 쓰는 경우가 많습니다.

    테이블 수가 그렇게 많은 것은 건강(?)하지 않은 것 같네요.
    수백 개까지는 봐줄 만 하지만 수천 개라면 뭔가 설계가 잘못된 거예요.
    테이블 하나에 레코드 수는 몇만 건이 아니라 몇억 건이라도 인덱스만 잘 되어 있으면 상관없습니다.
  • Lv36 ?
    처음부터 설계가 잘못된건데.. 어찌 고치지를 못하고 덩치가 커져버렸네요.. ㅎㅎㅎ
    그렇다고 속도가 팍팍 떨어지는게 아니라서. 그냥 냅뚜고 있습니다.
    추후 한번 고쳐 보겠습니다.
    슬로우쿼리 로그 확인하고 기겁중입니다...
  • ?
    mysql log 설정에서 slow log 만 수집할 수 있습니다.
    병목현상이 있는 쿼리 부터 수집하시고
    그 이후 개선방향을 찾아야 할 것 같습니다.
  • ? ?
    슬로우쿼리보고 깜놀라서 엄청 수정중입니다.
    조언 감사합니다.