문제

(기 전에 당신이 나를 바보는 시작,웃음을 기억하시기 바랍로 내 옆에 나는 취소할 수 없습니다 이제 그것은 더 큰 프로젝트의 일부)

나는 데이터베이스는 서버에 미친에서 큰 크기 및 실행에 미친 작 server,ie.32 기가바이트 RAM,24 코어 있습니다.주말 동안 우리는 우리가 추가 18GB 의 RAM 기기에게 그것은 조그만 더할 수 있(서버 부하가 하루 동안의 이동 평균 80!!) 우리까지 일사천리로 진행됩니다.의 성능 문제 응용 프로그램을 사용하여 이 데이터베이스입니다.

내가 의심되는 부하에 의해 발생 DB 교환이 부족하기 때문에 무료 RAM(약 5 기가바이트에서 항상 스왑).

이 데이터베이스에는 여러 개의 작은 틱 테이블과 하나의 거대한 테이블받고 있는 GPS 및 IO 데이터 속도 주변 350,000 기록/h 이블로 분할된 파티션/month.

Mysqltuner 제안 실행하는 테이블에 최적화 모든 테이블에서 그러나 내가 읽는 것이 그렇게에 InnoDB 테이블은 쓸모 없는 고도 걸릴 것입니다.

여기에는 싹둑에서 스크립트 출력:

General recommendations:
Run OPTIMIZE TABLE to defragment tables for better performance
Reduce your overall MySQL memory footprint for system stability
Adjust your join queries to always utilize indexes
When making adjustments, make tmp_table_size/max_heap_table_size equal
Reduce your SELECT DISTINCT queries without LIMIT clauses
Increase table_cache gradually to avoid file descriptor limits
Variables to adjust:
  *** MySQL's maximum memory usage is dangerously high ***
  *** Add RAM before increasing MySQL buffer variables ***
  query_cache_limit (> 16M, or use smaller result sets)
  join_buffer_size (> 2.0M, or always use indexes with joins)
  tmp_table_size (> 16M)
  max_heap_table_size (> 16M)
  table_cache (> 4096)
  innodb_buffer_pool_size (>= 1726G)

해야 하는 맹목적으로 그것을 신뢰하거나 다른 방법이 있을까요?

내가 알고있는 첫 번째 것은 다시 구성 DB 업그레이드 후,다른 무엇을 주의해야 할 그 어떤 노력해야 하죠?가동 중단해야로 가능한 한 짧은 그래서 내가 정말 원하지 않는 쿼리를 실행하는 실행 시간이 5 시간 똑바로.

도움이 되었습니까?

해결책

에 대해 잊지 mysqltuner 확인 인간의 조언.이 도구를 알려줍니다 당신은 일반적인 권장사항이 될 수 있는 쓸모없는,심지어는 유해한 경우가 있습니다.적 테이블이 될 것 쓸모없는,그러나 그것은 잠금 당신의 테이블에 대한 기록합니다.컨설턴을 저장할 수 있습니다 당신의 시간과 돈을 실행합니다.

교환되어야 no-go MySQL.는지 확인하는 조정 메모리 사용량을 극대화하기 위해 교환하지 않고.는지 확인하십시오 있다는 것을 이해할 수 있는 다른 것들을 사용하여 메모리: 캐시 파일시스템, 에 필요한 로깅과 다른 작업,그리고 당 클라이언트가 사용한 메모리처럼 참여 버퍼를 정렬 버퍼.모두 함께 미만 이어야 합니다 실제로 사용할 수 있는 메모리로,MySQL/InnoDB 는 자신의 방법의 버퍼링,그리고 사용하는 경우에는 가상 메모리 현실에서 디스크에,당신이 가고 있습니다.

그것은 제공에 어려움이 고장이 없는"일반적인 통보 없이"전체의 서버입니다.하지만 제 경험, 90%의 문제를 쿼리하고 데이터베이스 디자인, 지 않으로 서버 구성이 있습니다.

그러나,여기에 당신은 당신 좋은 소개 MySQL/Innodb 구성 최적화 여 좋은 사람(Peter Zaitsev).도움이 되기를 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 dba.stackexchange
scroll top