----- Original Message -----
> [...] a busy pmwebd shows a ginormous amount of
> traffic flowing through libpcp/src/pdubuf.c, many hundreds of
> thousands of requests per second.
The analysis lacks details as to whether this is a calling issue -
"hundreds of thousands of requests per second" is an obscene rate
of calls for any normal PCP application to be making - how many
web clients? what sampling intervals? archives/live? ... what's
the distribution of PDU types in this pmwebd scenario? Does this
match any valid real-world use or is it a test/benchmark?
Is this making use of pmwebapi_respond_metric_fetch()? If so, you
may be optimising in the wrong place - it is extremely inefficient
in its use of PCP protocol/APIs (pmDesc/pmNameID request for every
PMID fetched, for every iteration of the fetch loop, i.e. on every
sample) - as we've discussed on several occasions. Or perhaps its
some other, similar calling issue that'd benefit from some caching
in pmwebd to avoid making so many calls altogether.
cheers.
--
Nathan
|