[Xymon] Xymon WinPSclient performance

SebA spah at syntec.co.uk
Mon Jan 28 21:15:52 CET 2019


It's great the way features have been added to Xymon WinPSclient, but I
think it's started suffering from feature bloat now, illustrating the
importance of making each feature optional like BBWin did very effectively.
We are seeing memory leaks on Windows 2012 R2 using version 2.28 (I started
another thread about memory leaks a while back - I'll come back to this
issue another time) and more and more CPU time being used up during each
cycle.

It seems that from version v2.21 a slow ASCII encoding conversion was added:

myServer1 - : xymonclient.ps1  2.21 2017-04-28 zak.beck at accenture.com
2019-01-28 19:19:26  Sending to server
2019-01-28 19:19:26  Using ASCII encoding
2019-01-28 19:*20*:25  Connecting to host x.x.x.x        <-- Yes, that took
about *1 minute of 100% processing of 1 of the 8 CPUs/Cores*.
2019-01-28 19:20:26  Sent 2007850 bytes to server    <-- OK, yes, that's
rather a lot of data, but still it's not good.
2019-01-28 19:20:26  Received 130 bytes from server

Compare with:
myServer1 - : xymonclient.ps1  2.19 2016-12-28 zak.beck at accenture.com
2019-01-28 19:15:59  Sending to server
2019-01-28 19:15:59  Connecting to host x.x.x.x
2019-01-28 19:15:59  Sent 2006765 bytes to server
2019-01-28 19:16:00  Received 130 bytes from server

Is it possible that converting to ASCII step introduced in v2.21 be made
optional? In the latest version it is possible to send via UTF8, which was
new in v2.21, or convert to ASCII, but it's not possible via configuration
alone, I believe, to have the old behaviour (from v2.19) that worked fine
for us and was far faster.

Another slow process is detecting the number of CPUs (on the same server):

2019-01-28 19:29:05  XymonCollectInfo: Process info
2019-01-28 19:29:05  XymonCollectInfo: calling XymonProcsCPUUtilisation
2019-01-28 19:29:05  XymonCollectInfo: CPU info (WMI)
2019-01-28 19:29:13  Found 8 CPUs, total of 0 cores
2019-01-28 19:29:13  XymonCollectInfo: OS info (including memory) (WMI)
2019-01-28 19:29:13  XymonCollectInfo: Service info (WMI)

*8 seconds* for that.  Why does it need to do this every time?  The number
of CPUs does not normally change without at least rebooting.  It could do
it just on the first cycle and cache it for future cycles.

Another thing that would really speed up processing for us is being able to
dynamically specify the filenames using special characters or something for
the date, e.g. &DD &MM &YY
We have files that rotate with new filesnames and if we could narrow down
the filenames to process it would speed up processing by several more
seconds.
E.g. C:\Temp\myServerLog29-12-18.0.log

In client-local.cfg:
Instead of:
log:C:\Temp\myServerLog*.log:10240
If we could to this, it would mean we process a small fraction of the
number of files:
log:C:\Temp\myServerLog&DD-&MM-&YY.*.log:10240


Kind regards,

SebA
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20190128/8dbd8e54/attachment.html>


More information about the Xymon mailing list