MySQL Performance Cheat Sheet MySQL은 확장가능하고 원하는 성능을 위해 최적화하고 조정할 영역이 많습니다. 일부 변경은 동적으로 수행할 수 있고 다른 변경은 서버를 다시 시작해야 합니다. 기본 구성으로 MySQL 설치를 하는 것은 매우 일반적이지만 때로는 워크로드 및 설정 자체에 적합하지 않을 수 있습니다. MySQL의 주요 영역을 요약하여 이를 살펴보겠습니다. System VariablesMySQL에는 변경을 고려할 수 있는 많은 변수가 있습니다. 일부 변수는 동적이므로 SET 문을 사용하여 설정할 수 있습니다. 다른 것들은 구성 파일(예: /etc/my.cnf, etc/mysql/my.cnf)에서 설정한 후 서버를 다시 시작해야 합니다. 서버를 최적화하기 위해 조정하는데 필..
MySQL 서버 하드웨어 및 OS 조정:1. 전체 InnoDB 파일을 메모리에 로드하기에 충분한 물리적 메모리가 있어야 합니다. InnoDB는 디스크가 아닌 메모리에서 파일에 액세스할 수 있을때 훨씬 빠릅니다.2. 스와핑을 피합니다. 스와핑은 디스크에서 읽는 것이므로 속도가 느립니다.3. 배터리 지원 RAM(Battery-Backed RAM)을 사용합니다.4. 고급 RAID를 사용합니다. 가급적이면 RAID10 이상을 사용합니다.5. RAID5를 피합니다. 무결성을 보장하는데 필요한 체크섬은 비용이 많이 듭니다.6. OS와 데이터 파티션을 논리적으로뿐만 아니라 물리적으로 분리합니다. 비용이 많이 드는 OS 쓰기 및 읽기는 데이터베이스 성능에 영향을 미칩니다.7. mysql 임시 공간과 복제 로그를 데이터..
■ Setup Tablessetup_actors : 새로운 포그라운드 스레드(foreground threads : 접속 클라이언트 혹은 서버)에 대한 모니터링을 초기화하는 방법setup_consumers : 이벤트 정보를 보내고 저장할 수 있는 대상setup_instruments : 이벤트를 수집 할 수있는 계측된 개체의 클래스setup_objects : 모니터링해야하는 개체setup_timers : 현재 이벤트 타이머 ■ Instance Tables▶︎ cond_instances 테이블 : 조건 동기화 개체 인스턴스cond_instances 테이블은 서버가 실행되는 동안 성능 스키마에 표시되는 모든 조건을 나열합니다. 조건은 특정 이벤트가 발생했음을 알리기 위해 코드에서 사용되는 동기화 메커니즘으로,이..