Red Hat Bugzilla – Bug 1376861
pcp pmwebd performance improvements
Last modified: 2017-08-23 11:00:20 EDT
pmwebd is slow to answer certain types of queries, sometimes painfully so. Some ideas: - fix multithreading problems in libpcp, so that the core pmwebapi portion of pmwebd could become multithreaded - fix multithreading problems in libpcp, so that the graphite pmwebapi portion can be fully multithreaded too (with concurrent service of different requests, rather than just concurrent scans of multiple archives for a given request) - for graphite mode, cache archive metadata somehow. We can't keep all of the archives open because of FD limits. Plus we must be tolerant to archives that are being actively written-to (so the metadata cache must be flushable). - for graphite-json query outputs, investigate whether all the JSON "{null, $timestamp}" entries actually must be emitted. Maybe the graphite/grafana webapps we bundle can fill in that stuff. - for graphite-png query outputs, rework the representation of all the timeseries in memory as a big rectangular vector-of-vectors. The nulls/nans probably don't need to be materialized, and costing perhaps tens or hundreds of MB (for massive sets of series).
This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle. Changing version to '26'.
Frank, how much of this is in mainline and/or your pcpfans tree, what's left to be done?
(In reply to Mark Goodwin from comment #2) > Frank, how much of this is in mainline and/or your pcpfans tree, what's left > to be done? Frank is on PTO for a few weeks Mark. Nothing has been sent upstream at this stage, although of course Ken's libpcp threading improvements continue onward independently.