thanks! I've read the thread and I think Hanno Schlichting (who else?) gave the most important advice in these two paragraphs:
The dominant factor for query performance isn't the length of any of the
involved data sets, but the ratio between how much of that data has to be
loaded from the server and how much is already in the connection or ZEO
With all that said, maintaining query plans across instance restarts has much
less value than one would assume. The best one can do is to create some
warm-up process to prefill the connection cache before allowing any newly
started instance to serve web traffic.
we are already doing the later, and that could be good enough; anyway, warm-up process is taking a lot (sometimes more than 2 minutes) and that could indicate that we need to review the ZEO cache size.
I'm going to make some tests.