SYSTEM WARNING: 'date_default_timezone_get(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.' in '/usr/share/mantis/www/core.php' line 264

0002664: dashboard causes high load - MantisBT Endian Bugtracker
Endian Issue Tracker





Please see now our new Bugtracker system: JIRA








View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0002664Endian FirewallOther Servicespublic2010-02-09 15:062010-11-22 12:08
Reporterpeter-endian 
Assigned Topeter-endian 
PriorityhighSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target Version2.3.1Fixed in Version2.4.1 
Summary0002664: dashboard causes high load
Descriptionwhen remaining on the dashboard page, load raises.

the attached image shows a collectd load graph.
it has been started with 1 dashboard page constantly open, load on ~ 5
after opening a second page it raised to ~ 8
after closing all dashboard pages load decresed to ~ 0
opening 1 page, load raised back to ~ 5

this happened on a mini.

this most probably happens because there will be called to many cost-intensive (python vm's) tools through ajax, which means every 2? seconds.

- uplinks-status.cgi could be removed completely by simply reading out a json file which should be generated by uplinksdaemon.
- collectd-json.cgi could be implemented as an emi-module which also generates a json file or produces json output

that should bring load back to 0
TagsNo tags attached.
Attached Filespng file icon collection.cgi.png [^] (30,210 bytes) 2010-02-09 15:06

- Relationships

-  Notes
(0003866)
peter-endian (administrator)
2010-02-25 11:24

both data producing scripts should be implemented as EMI status page reachable through /status/

That page should work like the commands interface calling registered methods which return json serialized python-structures.
Every emi module then can register its status method
(0004022)
peter-endian (administrator)
2010-03-11 23:02

implemented emi status json interface in /manage/status/
(0004023)
peter-endian (administrator)
2010-03-12 02:26

- implemented collectd status module /manage/status/status.collectd.data
- replaced call to /cgi-bin/collectd-json.cgi with call to emi interface

lowers load a little bit, from 4 to 3
but certainly raises emi cpu usage on the other hand; maybe we need to
tune emi a little bit


to do:
- package collectd python interface with Collectd class
- package efw-collectd emi part (setup.py)
- replace uplinksdaemon status cgi with emi status interface
- make dashboard.cgi use also emi status interface (?)
- filter getvals in order that only needed identifiers will be fetched.
  creates probably a to long GET var list?
(0004044)
peter-endian (administrator)
2010-03-16 16:12

- implemented emi status interface for uplinksdaemon and replaced in dashboard
- lower ajax request resolution from 2s to 3s

load is now on 2.5
(0004047)
peter-endian (administrator)
2010-03-17 12:23

cache is implemented,. status values are cached for 3 seconds now, which prevents from being generated all the time and keeps load low when dashboard is opened multiple times
(0004051)
peter-endian (administrator)
2010-03-17 16:13

decreased initial execution time from 60s to ~10s
(0004052)
luca-endian (developer)
2010-03-17 16:15

wow ;)
(0004057)
peter-endian (administrator)
2010-03-17 17:43

load is under 2 now, nearby regardless of how many dashboards are open
initial execution time is 10-15s
values measured on a mini with all services enabled

there is still more room to optimize, but for now it is enough.

- Issue History
Date Modified Username Field Change
2010-02-09 15:06 peter-endian New Issue
2010-02-09 15:06 peter-endian File Added: collection.cgi.png
2010-02-09 15:06 peter-endian Status new => confirmed
2010-02-09 15:08 peter-endian Relationship added has duplicate 0001085
2010-02-09 15:09 peter-endian Relationship added has duplicate 0001090
2010-02-09 15:10 peter-endian Description Updated
2010-02-09 15:10 peter-endian Description Updated
2010-02-09 15:10 peter-endian Description Updated
2010-02-25 11:24 peter-endian Note Added: 0003866
2010-03-03 15:01 peter-endian Target Version future => 2.3.1
2010-03-03 15:01 peter-endian Relationship added child of 0002402
2010-03-03 15:24 ra-endian Assigned To => peter-endian
2010-03-03 15:24 ra-endian Status confirmed => assigned
2010-03-03 15:49 ra-endian Priority normal => high
2010-03-11 23:02 peter-endian Note Added: 0004022
2010-03-12 02:26 peter-endian Note Added: 0004023
2010-03-16 16:12 peter-endian Note Added: 0004044
2010-03-17 12:23 peter-endian Note Added: 0004047
2010-03-17 16:13 peter-endian Note Added: 0004051
2010-03-17 16:15 luca-endian Note Added: 0004052
2010-03-17 17:43 peter-endian Note Added: 0004057
2010-03-17 17:43 peter-endian Status assigned => resolved
2010-03-17 17:43 peter-endian Fixed in Version => 2.3.1
2010-03-17 17:43 peter-endian Resolution open => fixed
2010-03-17 17:44 peter-endian Relationship deleted has duplicate 0001090
2010-11-22 12:08 peter-endian Fixed in Version 2.3.1 => 2.4.1
2010-11-22 12:08 peter-endian Status resolved => closed

Copyright © 2005-2008 Endian, SRL. All rights reserved.


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker