Difference between revisions of "Performance Tuning Tips"
From RifidiWiki
Line 1: | Line 1: | ||
+ | ==Key Factsors to consider== | ||
+ | *depends on complexity of sensor events within Rifidi App (how long running, size of event data, frequency etcc.) | ||
+ | *reader adapter performance a. Note: Some reader/sensor adapters perform better than others dependent on vendor adapter native implementation (software and hardware) | ||
+ | *Size of hardware running rifidi | ||
+ | |||
+ | ==Server Tuning== | ||
*Turn off diagnostic and monitoring apps in particular 12:Rifidi App: Monitoring:Tags (others as well optional as shouldn't have impact unless used as part of apps) | *Turn off diagnostic and monitoring apps in particular 12:Rifidi App: Monitoring:Tags (others as well optional as shouldn't have impact unless used as part of apps) | ||
Line 25: | Line 31: | ||
*Consider level of logging - [[Use_org.rifidi.logging]] | *Consider level of logging - [[Use_org.rifidi.logging]] | ||
*Turn off console output and run into background - [[Edge_Server_Configuration#Console]] | *Turn off console output and run into background - [[Edge_Server_Configuration#Console]] | ||
− | Esper Tips | + | ==Esper Tips== |
*Esper Configuration - http://esper.codehaus.org/esper-4.2.0/doc/reference/en/html/configuration.html | *Esper Configuration - http://esper.codehaus.org/esper-4.2.0/doc/reference/en/html/configuration.html | ||
Note: Package/class where Rifidi invokes Esper Manager - This is where one can override Esper configuration - https://transcends.svn.cloudforge.com/rifidi/rifidi/trunk/org.rifidi.edge/src/org/rifidi/edge/services/EsperManagementServiceImpl.java | Note: Package/class where Rifidi invokes Esper Manager - This is where one can override Esper configuration - https://transcends.svn.cloudforge.com/rifidi/rifidi/trunk/org.rifidi.edge/src/org/rifidi/edge/services/EsperManagementServiceImpl.java | ||
Line 31: | Line 37: | ||
*One can disable bundles in bundles.info (caution if not used by app or required by rifidi core) example bundles one can turn off is mysql, aws bundles if not used by an rifidi app - [[How_to_add_OSGI_Bundles]] | *One can disable bundles in bundles.info (caution if not used by app or required by rifidi core) example bundles one can turn off is mysql, aws bundles if not used by an rifidi app - [[How_to_add_OSGI_Bundles]] | ||
*Esper Performance Tuning Tips when creating Esper for event processing/tag filtering - http://esper.codehaus.org/esper-4.9.0/doc/reference/en-US/html/performance.html | *Esper Performance Tuning Tips when creating Esper for event processing/tag filtering - http://esper.codehaus.org/esper-4.9.0/doc/reference/en-US/html/performance.html | ||
− |
Revision as of 16:48, 29 September 2014
Key Factsors to consider
- depends on complexity of sensor events within Rifidi App (how long running, size of event data, frequency etcc.)
- reader adapter performance a. Note: Some reader/sensor adapters perform better than others dependent on vendor adapter native implementation (software and hardware)
- Size of hardware running rifidi
Server Tuning
- Turn off diagnostic and monitoring apps in particular 12:Rifidi App: Monitoring:Tags (others as well optional as shouldn't have impact unless used as part of apps)
- How to Turn off Diagnostic:Tags In server\applications\Diagnostic\Tag.properties set LazyStart=false (default is true) to stop Diagnistic:Tags app from starting by default - recenttags and currenttags commands will no longer function butr this will provide performance/memory improvement as in production mode these commands should not be required
- How to Turn off Monitoring:Tags Coming Soon - currently need to stop manually
0:Rifidi App: AppService:ReadZones (STARTED); 1:Rifidi App: AppService:SensorStatus (STARTED); 2:Rifidi App: AppService:UniqueTagInterval (STARTED); 3:Rifidi App: AppService:StableSet (STARTED); 4:Rifidi App: AppService:LimitStableSet (STARTED); 5:Rifidi App: AppService:UniqueTagBatchInterval (START; 6:Rifidi App: AppService:RSSI (STARTED); 7:Rifidi App: Diagnostic:GPIO (STOPPED); 8:Rifidi App: Diagnostic:Serial (STOPPED); 9:Rifidi App: Diagnostic:Tags (STARTED); 10:Rifidi App: Diagnostic:TagGenerator (STARTED); 11:Rifidi App: Monitoring:ReadZones (STARTED); 12:Rifidi App: Monitoring:Tags (STARTED) 13:Rifidi App: Monitoring:SensorStatus (STARTED)
- Consider changing java heap size settings from default 256mb (In eclipse this is limited to 256mb is my understanding)
- Best practice - when creating custom esper wrap as a rifidi service (looking to make this easier in 3.1) - link to steps on how to config - How_to_add_a_new_Rifidi_Service
- Consider level of logging - Use_org.rifidi.logging
- Turn off console output and run into background - Edge_Server_Configuration#Console
Esper Tips
- Esper Configuration - http://esper.codehaus.org/esper-4.2.0/doc/reference/en/html/configuration.html
Note: Package/class where Rifidi invokes Esper Manager - This is where one can override Esper configuration - https://transcends.svn.cloudforge.com/rifidi/rifidi/trunk/org.rifidi.edge/src/org/rifidi/edge/services/EsperManagementServiceImpl.java
- One can disable bundles in bundles.info (caution if not used by app or required by rifidi core) example bundles one can turn off is mysql, aws bundles if not used by an rifidi app - How_to_add_OSGI_Bundles
- Esper Performance Tuning Tips when creating Esper for event processing/tag filtering - http://esper.codehaus.org/esper-4.9.0/doc/reference/en-US/html/performance.html