Jeremy Hylton wrote at 2004-3-1 14:01 -0500:
... It really would be good to get to the bottom of the bad ZEO performance for loading an object the first time. I won't have time to do it until after the ZODB 3.3 release, but I think it's a worthwhile effort to understand what ZEO is doing.
I instrumented "ClientStorage" to get precise timings for ZEO operations. The obtained times are not bad: When the data file was not yet in the operating system's cache, loading an object took between 3 to 30 ms with very high variance. After the relevant parts of the data file have been cached by the OS, time was between 1 to 3 ms per object, almost independent from object size. I obsevered loading of about 1.600 objects between several hundred bytes and several kilobytes in size mostly index data for a ZCatalog "FieldIndex". I had disabled both the ZODB cache as well as the ZEO client cache for my measurement. ZEO client and server have been on the same machine (local communication) I interpreted these observations in the following way: * time is dominated by the disc access * time is largely independent of the object size (if the object is in the OS disc cache) * ZEO overhead is about 1 to 3 ms per object. -- Dieter