Ad Widget

Collapse

Медленно работает история событий

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • sergei
    Junior Member
    • Oct 2012
    • 4

    #1

    Медленно работает история событий

    zabbix 2.0.3
    Возникла следущая проблемма:
    Таблица events разраслась до 200к и раздел "события" стал медленно открываться, так же как и "последние 20 событий" на панели. Под аккаунтом супер-администратора менее заметно.

    Лог mysql'я показал медленые запросы типа:

    SELECT DISTINCT e . *
    FROM EVENTS e, functions f, items i, hosts_groups hg, rights r, users_groups ug
    WHERE e.object =0
    AND f.triggerid = e.objectid
    AND f.itemid = i.itemid
    AND hg.hostid = i.hostid
    AND r.id = hg.groupid
    AND r.groupid = ug.usrgrpid
    AND ug.userid =18
    AND r.permission >=2
    AND NOT
    EXISTS (

    SELECT ff.triggerid
    FROM functions ff, items ii
    WHERE ff.triggerid = e.objectid
    AND ff.itemid = ii.itemid
    AND EXISTS (

    SELECT hgg.groupid
    FROM hosts_groups hgg, rights rr, users_groups gg
    WHERE hgg.hostid = ii.hostid
    AND rr.id = hgg.groupid
    AND rr.groupid = gg.usrgrpid
    AND gg.userid =18
    AND rr.permission <2
    )
    )
    AND e.eventid
    BETWEEN 000000000000000
    AND 099999999999999
    AND ((e.value_changed IN ('1')))
    ORDER BY e.eventid
    LIMIT 1
    OFFSET 0

    Это тзапрос у меня выполняется 12с

    Как я понимаю:
    1. DISTINCT здесь совершенно не нужен (без него "Запрос занял 0.0029 сек.")
    2. подзапрос "AND NOT EXISTS...", он здесь нужен?

    Похожие темы:

  • Jimson
    Senior Member
    • Jan 2008
    • 1327

    #2
    Событие создается не только когда тригер изменяет свое состояние, из-за этого в списке будут дубли. Но 12 секунд против 0.00029 это через чур, надо создавать тикет.

    Comment

    • sergei
      Junior Member
      • Oct 2012
      • 4

      #3
      Это так, дубли есть. Но конкретно в этом запросе, как я понимаю, это не важно т.к. Limit 1

      Comment

      Working...