Last night I ran some simple performance tests on the transaction database. Using inexpensive stock hardware the DB server managed to process 312 payment transactions per second.

First I ran a Python script that created 10′000 employee records with their corresponding accounts [download script]. Then, a second script [download] simulated 10′000 transactions between randomly chosen employees.

The time was recorded with the Unix command time. The first script took 91 seconds to complete, the second 32 seconds (translating to ~ 312 transactions / sec). In both cases the network traffic between client and server was about 100 kbit/s.

The test setup:

  • The server: MySQL 5.0.34 running on an Intel P4 Linux machine
  • The client: the two Python scripts were run from a P4 Linux laptop connected to the server via 100mb/s Ethernet

No blue smoke came out of the server, so I guess the test was successful :)