2013-02-21 4 views
1

요즘 내 mysql 5.5.27의 성능이 매우 좋지 않습니다. 내가 구성에있는 모든 것을 시도해보고 행운과 차이가 나는지 확인하기 위해 모든 것을 변경했습니다. 나는 테이블을 끊임없이 잠그고 테이블 당 6-9 개의 잠금 장치를 사용하고 있습니다. 내 선택 검색어는 영원히 300 초에서 1200 초가 걸립니다.MySQL의 성능이 매우 좋지 않음

페이스트 빈에 이전 모두가 낙찰 문자 http://pastebin.com/bP7jMd97

SYS 활동

90 % UPDATES 내 느린 쿼리 로그를 백업 SELECT

INSERTS 10 %를 초과하기 때문이다. 아래에 내 mysql 정보가 있습니다. 도움이 될만한 것이 있다면 알려주십시오.

Server version   5.5.27-log 
Protocol version  10 
Connection    XX.xx.xxx via TCP/IP 
TCP port    3306 
Uptime:     21 hours 39 min 40 sec 



Uptime: 78246 Threads: 125 Questions: 6764445 Slow queries: 25 Opens: 1382 Flush tables: 2 Open tables: 22 Queries per second avg: 86.451 

SHOW 내가 벽돌 벽에 충돌하고 몇 가지 지침이 필요했습니다

+----------+---------------+--------+-------------+ 
| Database | Table   | In_use | Name_locked | 
+----------+---------------+--------+-------------+ 
| aridb | ek   |  0 |   0 | 
| aridb | ey   |  0 |   0 | 
| aridb | ts   |  4 |   0 | 
| aridb | tts   |  6 |   0 | 
| aridb | tg   |  0 |   0 | 
| aridb | tgle   |  2 |   0 | 
| aridb | ts   |  5 |   0 | 
| aridb | tg2   |  1 |   0 | 
| aridb | bts   |  0 |   0 | 
+---------+--------------+-------+------------+ 

OPEN 테이블. 감사!

+0

은 문제의 원인이되는 특정 진술입니까? - 또한 동일한 기본 데이터에 대해 많은 뷰를 사용합니까? – Steve

+0

나는 어떤 진술도 발견하지 못했고, 무작위적인 경향이있다. 나는 그것이 발생하는 시간을 모니터링하려고 시도했지만 매우 무작위이다. 나는 내 데이터에 대해 어떤 '견해'도 갖고 있지 않다. 24/7 none stop을 실행하는 삽입 및 업데이트가 있습니다. select를 실행하여 반환 된 데이터를 확인합니다. –

답변

1

로그를 통해 살펴볼 때 문제가있는 것으로 보입니다 (내가 알고 있듯이) 업데이트/선택/삽입되고있는 데이터의 양이 주어진다면 엄청난 양의 잠금이 필요하기 때문입니다 동시에.

테이블, 스키마, 하드웨어, 구성, 토폴로지 등의 크기와 같은 정보를 많이 알지 못하면 성능 정보를 제공하기가 정말 어렵습니다. 어쨌든 광범위한 질문!

내가 할 수있는대로 내가 일반적으로 내 대답을하겠습니다 만 가능한 일을 보거나 될 것이다 시도 : 전체 수행

  1. 실행을 Explain 선택 쿼리를하고 선택적으로 데이터를 찾을 수 있는지 확인하지 테이블 스캔 또는 데이터의 낭비 거대한 양이
  2. 그것을 삽입 및 업데이트의 수행하지만,보고를위한 read replica을 만들 수있는 서버를두고, 한 번에 여러 행을 업데이트하는 경우
  3. 를 고정되지 않습니다 데이터를 이런 식으로는 생각 너무 많은 데이터를 정지시키기 위해 약 updating with a limit이 제공됩니다. 당신이 delay the inserts 압력을 완화하기 위해 할 수있는 경우 g는
  4. 예 : 더 색인/데이터 메모리 또는 유지 될 수 IO 성능과 메모리를위한 솔리드 스테이트 디스크와 같은 하드웨어 수정에
  5. 봐 더 큰 버퍼를 가지고
  6. 잠겨