[ZBX-8643] Accessing Configuration->Actions performs not very well Created: 2014 Aug 21  Updated: 2017 May 30  Resolved: 2014 Sep 24

Status: Closed
Project: ZABBIX BUGS AND ISSUES
Component/s: API (A), Frontend (F)
Affects Version/s: 2.2.6rc1
Fix Version/s: 2.5.0

Type: Incident report Priority: Minor
Reporter: Marc Assignee: Ivo Kurzemnieks
Resolution: Fixed Votes: 0
Labels: actions, performance, usability
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File zbx8643Debug.txt.gz    

 Description   

Script profiler output where rows per page is limited to only 100 actions.

******************** Script profiler ********************
Total time: 4.73808
Total SQL time: 3.649532
SQL count: 5307 (selects: 1767 | executes: 3540)
Peak memory usage: 119.25M
Memory limit: 512M

Especially while ZBXNEXT-14 is not addressed and users tend to significantly increase rows per page to use the internet browsers's search functionality (everywhere) instead.



 Comments   
Comment by Alexander Vladishev [ 2014 Sep 01 ]

Please attach a full debug output.

Thanks.

Comment by Marc [ 2014 Sep 01 ]

There are currently 108 actions. But when moving to production I expect >1k actions.
Debug output needs to be anonymized - will take some time...
Debug output can be found in attached file zbx8643Debug.txt.gz.

Comment by Ivo Kurzemnieks [ 2014 Sep 04 ]

(1) No string changes.

oleg.egorov CLOSED

Comment by Ivo Kurzemnieks [ 2014 Sep 04 ]

RESOLVED in svn://svn.zabbix.com/branches/dev/ZBX-8643

Comment by Oleg Egorov (Inactive) [ 2014 Sep 08 ]

(2) triggers.inc.php:43
array $config = null

Change to:
array $config = array()

Same issue in actions.inc.php
function actionConditionValueToString

iivs Made $config as mandatory parameter for function actionConditionValueToString(). Function changes for getSeverityCaption() will be done in (4).

RESOLVED in r48988

sasha CLOSED

Comment by Oleg Egorov (Inactive) [ 2014 Sep 08 ]

Speed tests

5 actions

Was
0.185011 s
5.75M
SQL count: 45 (selects: 33 | executes: 12)

Now
0.211013
7.25M
SQL count: 48 (selects: 26 | executes: 22)

In minor installations before was better (~10% speed, ~20% less memory)

25 actions
Was
Total time: 0.396023
Total SQL time: 0.116006
SQL count: 263 (selects: 123 | executes: 140)
Peak memory usage: 11M
Memory limit: 1024M

Now
Total time: 0.239014
Total SQL time: 0.038002
SQL count: 55 (selects: 35 | executes: 20)
Peak memory usage: 8.5M
Memory limit: 1024M

40 actions
Was
Total time: 0.764044
Total SQL time: 0.276014
SQL count: 595 (selects: 327 | executes: 268)
Peak memory usage: 15.5M
Memory limit: 1024M

Now
Total time: 0.343019
Total SQL time: 0.047001
SQL count: 62 (selects: 40 | executes: 22)
Peak memory usage: 9.25M
Memory limit: 1024M

Comment by Ivo Kurzemnieks [ 2014 Sep 23 ]

As discussed this performance issue will be fixed for 2.5.0 trunk version.

Fixed in pre-2.5.0 (trunk) r49235

Comment by Alexander Vladishev [ 2014 Sep 24 ]

(17) The configuration.trigger.prototype.list.php was incorrectly merged with trunk.

    Missing argument 2 for getSeverityCell(), called in /include/views/configuration.trigger.prototype.list.php on line 125 and defined [trigger_prototypes.php:327 → CView->render() → include() → getSeverityCell() in /include/triggers.inc.php:112]
    Undefined variable: config [trigger_prototypes.php:327 → CView->render() → include() → getSeverityCell() in /include/triggers.inc.php:114]
    Argument 2 passed to getSeverityName() must be of the type array, null given, called in /include/triggers.inc.php on line 114 and defined [trigger_prototypes.php:327 → CView->render() → include() → getSeverityCell() → getSeverityName() in /include/triggers.inc.php:51]
    Missing argument 2 for getSeverityCell(), called in /include/views/configuration.trigger.prototype.list.php on line 125 and defined [trigger_prototypes.php:327 → CView->render() → include() → getSeverityCell() in /include/triggers.inc.php:112]
    Undefined variable: config [trigger_prototypes.php:327 → CView->render() → include() → getSeverityCell() in /include/triggers.inc.php:114]
    Argument 2 passed to getSeverityName() must be of the type array, null given, called in /include/triggers.inc.php on line 114 and defined [trigger_prototypes.php:327 → CView->render() → include() → getSeverityCell() → getSeverityName() in /include/triggers.inc.php:51]

iivs RESOLVED in svn://svn.zabbix.com/branches/dev/ZBX-8643 r49264

sasha CLOSED

Comment by Ivo Kurzemnieks [ 2014 Sep 24 ]

Fixed in pre-2.5.0 (trunk) r49312

Generated at Wed Apr 24 01:14:22 EEST 2024 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.