Hi,

I have been doing some benchmarking on the pgsql DLRs. I actually wrote a quick application as opposed to using kannel. The application simulated message sending and DLRs by looping a thousand times over the following :-

1. Adding a random number of messages into the DLR table (and storing them in an in memory hash)

2. Deleting a random number of messages from the DLR table (based on a random selection from the hash)

3. Updating a smaller random number of messages in the DLR table (again select from the hash).

These test were carried out on a pretty old box running FreeBSd 6.1 and PostgreSQL 8.1.

I ran the benchmark a number of times, and with the existing SQL I was anywhere between 100 and 140 messages a second.

I updated the SQL (the delete and update) to remove the OID selection bit. I did not add any LIMIT so that it will still work with the earlier versions of pgsql. Again after running this a number of times I would average between 199 and 201 messages a second (It was a lot more consistent this time).

Attached is the patch.

Regards

Ben

Attachment: dlr_pgsql.patch
Description: Binary data

Reply via email to