Zabbix에서 MySQL 데이터베이스로의 "선택 개수(*)"가 너무 많습니다.

Zabbix에서 MySQL 데이터베이스로의 "선택 개수(*)"가 너무 많습니다.

Zabbix 서버가 항상 느리기 때문에 문제가 있습니다. 따라서 Zabbix Server 구성의 syslog에서 느린 쿼리 강조 표시를 활성화했습니다. 이 테이블에서 계속 select count(*)를 수행하는 이유는 무엇입니까? (그들은 거대합니다!). Zabbix의 이러한 동작을 피할 수 있는 방법이 있습니까?

zabbix_server[13501]: slow query: 129.014900 sec, "select count(*) from trends"
zabbix_server[13501]: slow query: 178.554334 sec, "select count(*) from trends"
zabbix_server[13501]: slow query: 25.102330 sec, "select count(*) from history_str"
zabbix_server[13505]: slow query: 754.050522 sec, "select count(*) from history"
zabbix_server[13509]: slow query: 180.450058 sec, "select count(*) from trends"
zabbix_server[13512]: slow query: 122.668146 sec, "select count(*) from trends"
zabbix_server[13512]: slow query: 172.661542 sec, "select count(*) from trends"
zabbix_server[13512]: slow query: 31.664581 sec, "select count(*) from history_str"
zabbix_server[13515]: slow query: 210.105187 sec, "select count(*) from trends"
zabbix_server[13516]: slow query: 27.483541 sec, "select count(*) from history_str"
zabbix_server[13516]: slow query: 93.289657 sec, "select count(*) from history_str"
zabbix_server[13518]: slow query: 102.836916 sec, "select count(*) from trends"
zabbix_server[13522]: slow query: 130.317530 sec, "select count(*) from trends"
zabbix_server[13524]: slow query: 29.246892 sec, "select count(*) from history_str"
zabbix_server[13524]: slow query: 31.702153 sec, "select count(*) from history_str"
zabbix_server[13525]: slow query: 34.628497 sec, "select count(*) from history_str"
zabbix_server[13529]: slow query: 106.031498 sec, "select count(*) from trends"
zabbix_server[13529]: slow query: 160.210204 sec, "select count(*) from trends"
zabbix_server[13532]: slow query: 171.634335 sec, "select count(*) from trends"
zabbix_server[13534]: slow query: 75.451523 sec, "select count(*) from history_str"
zabbix_server[13536]: slow query: 132.403058 sec, "select count(*) from history_str"
zabbix_server[13536]: slow query: 25.296489 sec, "select count(*) from history_str"
zabbix_server[13539]: slow query: 1138.864792 sec, "select count(*) from history"
zabbix_server[13542]: slow query: 1001.632530 sec, "select count(*) from history"
zabbix_server[13542]: slow query: 619.885084 sec, "select count(*) from history"
zabbix_server[13549]: slow query: 22.035550 sec, "select count(*) from history_str"
zabbix_server[13550]: slow query: 25.015439 sec, "select count(*) from history_str"
zabbix_server[13550]: slow query: 51.222695 sec, "select count(*) from history_str"
zabbix_server[13552]: slow query: 106.272890 sec, "select count(*) from trends"
zabbix_server[13552]: slow query: 57.781271 sec, "select count(*) from history_str"
zabbix_server[13558]: slow query: 195.948071 sec, "select count(*) from trends"
zabbix_server[13558]: slow query: 35.949829 sec, "select count(*) from history_str"
zabbix_server[13561]: slow query: 27.496382 sec, "select count(*) from history_str"
zabbix_server[13561]: slow query: 59.612290 sec, "select count(*) from history_str"
zabbix_server[13562]: slow query: 266.540841 sec, "select count(*) from trends"
zabbix_server[13562]: slow query: 815.081735 sec, "select count(*) from history"
zabbix_server[13564]: slow query: 739.742027 sec, "select count(*) from history"
zabbix_server[13565]: slow query: 25.792558 sec, "select count(*) from history_str"
zabbix_server[13565]: slow query: 662.055581 sec, "select count(*) from history"
zabbix_server[13566]: slow query: 166.917401 sec, "select count(*) from trends"
zabbix_server[13569]: slow query: 133.917164 sec, "select count(*) from trends"
zabbix_server[13569]: slow query: 375.701664 sec, "select count(*) from trends"
zabbix_server[13576]: slow query: 30.821537 sec, "select count(*) from history_str"
zabbix_server[13576]: slow query: 323.511372 sec, "select count(*) from trends"
zabbix_server[13576]: slow query: 739.250067 sec, "select count(*) from history"
zabbix_server[13576]: slow query: 98.566847 sec, "select count(*) from trends"
zabbix_server[13577]: slow query: 118.234232 sec, "select count(*) from trends"
zabbix_server[13577]: slow query: 29.402386 sec, "select count(*) from history_str"
zabbix_server[13582]: slow query: 1633.032010 sec, "select count(*) from history"
zabbix_server[13584]: slow query: 39.793458 sec, "select count(*) from history_str"
zabbix_server[13587]: slow query: 27.135422 sec, "select count(*) from history_str"
zabbix_server[13595]: slow query: 35.727087 sec, "select count(*) from history_str"
zabbix_server[13600]: slow query: 134.139426 sec, "select count(*) from trends"
zabbix_server[13601]: slow query: 27.672915 sec, "select count(*) from history_str"
zabbix_server[13602]: slow query: 273.831060 sec, "select count(*) from trends"
zabbix_server[13607]: slow query: 60.470353 sec, "select count(*) from history_str"
zabbix_server[13610]: slow query: 135.439930 sec, "select count(*) from trends"
zabbix_server[13610]: slow query: 179.540891 sec, "select count(*) from trends"
zabbix_server[13613]: slow query: 117.768700 sec, "select count(*) from trends"
zabbix_server[13613]: slow query: 165.944011 sec, "select count(*) from trends"
zabbix_server[13613]: slow query: 44.678274 sec, "select count(*) from history_str"
zabbix_server[13615]: slow query: 33.423619 sec, "select count(*) from history_str"
zabbix_server[13617]: slow query: 19.533471 sec, "select count(*) from history_str"
zabbix_server[13617]: slow query: 411.857382 sec, "select count(*) from trends"
zabbix_server[13621]: slow query: 118.574077 sec, "select count(*) from trends"
zabbix_server[13622]: slow query: 21.323747 sec, "select count(*) from history_str"
zabbix_server[13625]: slow query: 156.002532 sec, "select count(*) from trends"

편집하다:내가 문제를 해결할 수 없었기 때문에(아무도 할 수 없었기 때문에) 테이블을 버리고 그 안의 데이터를 지웠습니다. 물론 Zabbix는 이제 더 빠르게 실행됩니다.

답변1

이 테이블에 인덱싱된 필드(예: 기본 키)가 있습니까? 그렇지 않은 경우 색인을 추가하면 작업 속도가 빨라집니다.

또 다른 옵션은 RAM을 더 잘 활용하도록 MySQL을 조정하는 것입니다. 서버에 더 많은 RAM을 설치할 수도 있습니다. mysql은 메모리가 많을 때 실행되지만 RAM이 부족하면 빈번한 쿼리에 대한 응답을 캐시하거나 테이블 및/또는 인덱스를 유지할 기회가 없다는 의미입니다. 속도는 메모리에서 완전히 느려집니다.

마지막으로 Zabbix와 Mysql 사이의 캐싱 SQL 프록시가 도움이 될 수 있습니다(때때로 캐시에서 오래된 데이터를 가져오는 대가를 치르더라도). 저는 몇 년 동안 그것을 사용하지 않았으므로 특정 소프트웨어를 추천할 수 없습니다. Google에서 검색해 보세요 mysql proxy cache.

관련 정보