David Johnson wrote:
Today, alone, we've processed 15M TX in about 2 hours (2080tps), using a
single MySQL server (not TTW), and MySQL just yawns. In our experience,
only MySQL and Oracle are capable of doing this (and Oracle only in versions
9 and above). This is also why I ask so many RDBMS questions on this list.
FWIW, PostgreSQL can do this too if you keep the schema simple and pay
attention to fsync behavior. (Note that MySQL doesn't generally fsync
by default, while PostgreSQL does.) You need to fsync to be sure you
don't lose transactions in the event of a power failure or system crash.
To fsync more than about 300 times per second, you need NVRAM (aka
"write cache") in the disk controller. This usually means a SAN.
I do think we will need multiple instances. I would like to use Zope and
perhaps replace Gadfly with MySQL. Has anyone done this in Zope 3? If so,
how? I would estimate based upon my preliminary tests that Zope with ZODB
can handle about 300/tps on our hardware.
You're working well beyond the speed that ZODB is currently optimized
for, so ZODB doesn't seem like a good match. However, it might be a
good experiment to disable the fsync in ZODB; this would let you know
how fast ZODB could perform on theoretical hardware that takes zero time
The versioning feature of Zope alone would blow our clients away.
Can you mimic versioning in the RDBMS?
Zope3-users mailing list