CAF MA Performance Issues
Vmware CAF ManagementAgentHost service was polling every 5 secs to check if Guest Network "Tunnel(port 6672)" was enabled to preconfigure & bring up Vmware CAF CommAmqpListener service.
This resulted in more CPU Utilization as opposed to previous release in CAF & caused regression in vmtools 10.2.0.
We are increasing the Poll rate to 5 mins, which fixed the issue & is giving us the same CPU/memory utilizations as in vmtools 10.1.0.
We were checking for the different stages of listener preconfiguration status from the listenerpreConfigure.txt files in the polling time interval, which caused increased IO operations.
To fix that we have stored the value of listener preconfiguration status from the files into a variable locally & using the same at all places instead of file access.
"listener_ctrl_preconfigure") ? true : false;
_listenerCtrlFollowTunnel = AppConfigUtils::getRequiredUint32("monitor",
"listener_ctrl_follow_tunnel") ? true : false;
+ _listenerPreConfigured = FileSystemUtils::doesFileExist(_listenerPreConfiguredPath) ? true : false;
_scriptOutputDir = AppConfigUtils::getRequiredString(_sConfigTmpDir);
const std::string installDir = AppConfigUtils::getRequiredString("install_dir");
FileSystemUtils::saveTextFile(_listenerPreConfiguredPath, reason);
}
-bool CMonitorListener::isListenerPreConfigured() {
- return FileSystemUtils::doesFileExist(_listenerPreConfiguredPath) ? true : false;
-}
bool preConfigureListener();
- bool isListenerPreConfigured();
+ bool isListenerPreConfigured() {
+ return _listenerPreConfigured;
+ }
bool followTunnel(std::string& listenerStartupType);
void listenerPreConfigured(const std::string& reason) const;
+
+
private:
bool _isInitialized;
bool _listenerCtrlPreConfigure;
bool _listenerCtrlFollowTunnel;
+ bool _listenerPreConfigured;
std::string _startListenerScript;
std::string _restartListenerPath;
<monitor-inbound-channel-adapter
id="monitorInboundChannelAdapterId"
channel="nullChannel">
- <poller fixed-rate="5000"/>
+ <poller fixed-rate="300000"/>
</monitor-inbound-channel-adapter>
</caf:beans>