Interpreting results from "bitcoin-cli getmempoolinfo" A bit of a conundrum interpreting the results from "bitcoin-cli getmempoolinfo".

Straight from https://chainquery.com/bitcoin-api/getmempoolinfo:

getmempoolinfo
Returns details on the active state of the TX memory pool.
Result:
{
  "size": xxxxx,               (numeric) Current tx count
  "bytes": xxxxx,              (numeric) Sum of all tx sizes
  "usage": xxxxx,              (numeric) Total memory usage for the mempool
  "maxmempool": xxxxx,         (numeric) Maximum memory usage for the mempool
  "mempoolminfee": xxxxx       (numeric) Minimum fee for tx to be accepted
}*


Cool! So "size" returns the number of transactions in the memory pool! But the numbers don't add up. Straight from the same page:

"result": {
    "size": 9178,
    "bytes": 100859918,
    "usage": 216557216,
    "maxmempool": 300000000,
    "mempoolminfee": 0.00001070
},
"error": null,
"id": null*


Doing the math, "bytes" divided by "size" equals 10,989 bytes/transaction. I would expect sometime on the order of ~400 bytes/transaction. Hence my conundrum.
After some digging, I believe I have an explanation: the memory pool is clogged with 'junk' transactions.

Bitcoin Core's minrelaytxfee parameter defaults to 0.01 mBTC/KB, which is "too low" in the sense that it permits TONS of 'junk' transactions to enter the memory pool. I've bumped minrelaytxfee to 0.05 mBTC/KB and the results so far are very encouraging. The memory pool profile now makes sense, from the # of transactions to the size of each transaction.

And minrelaytxfee=0.00005 strikes me as "fair" as it is one-tenth the broadly recommended transaction fee of 0.5 mBTC/KB (backup up by the Pareto breakdown of real transactions on various websites).

I encourage everyone running Bitcoin Core can make their own decision on minrelaytxfee for their full node.