Difference between revisions of "PowerDNS OpenDBX Backend/Comparison"
(→Results) |
(→Results) |
||
Line 83: | Line 83: | ||
| 224 | | 224 | ||
|} | |} | ||
+ | |||
+ | |||
+ | ---- | ||
+ | Back to [[PowerDNS OpenDBX Backend|Overview]] |
Revision as of 14:47, 15 October 2005
Comparison
Environment
The test environment consisted of two different machines both running Debian 3.1 (Sarge) with the latest official patches applied. The following packages were used:
- PowerDNS
- Version 2.9.18-svn (rev 474, 2005-09-03)
- PowerDNS OpenDBX Backend
- Version from 2005-10-15
- OpenDBX
- Version 0.9.5
- MySQL
- Version 4.1.11a, including libmysqlclient14
- PostgreSQL
- Version 7.4.7
- SQLite3
- Version 3.2.1
One hosted the PowerDNS server while the other was responsible for running the test suite (queryperf is included in the BIND sources):
- PowerDNS + database server
- VIA C3 533MHz, 256MB RAM
- benchmark client
- Pentium M 1.5GHz, 512MB RAM
Both machines were connected by a 100MBit network and they were the only ones attached to the hub.
Settings
All test were done with default settings for each database - no further optimizations were applied except if stated otherwise.
To get raw database and backend performance, caching in PowerDNS was switched of generally. Otherwise we would get much higher but false results due to packet caching done by PowerDNS. The "slave-cycle-interval" parameter was set to a value high enough so checking for unfresh slaves had no negative influence:
- cache-ttl=0
- negquery-cache-ttl=0
- query-cache-ttl=0
- recursive-cache-ttl=0
- master=yes
- slave-cycle-interval=300
Test description
The test was based on the records in the example.com zone available in the regression-tests directory of PowerDNS. The zone file was converted by zone2sql (part of the PowerDNS distribution) to a set of SQL queries inserted into the database tables created by specific "create table" statements for each DBMS (available along with the OpenDBX backend sources).
The speed of lookups was tested by running queryperf with a query set of 10000 A records (host-0.example.com to host-9999.example.com) three times in a row.
The AXFR (zone transfer) test was done by running "host -l example.com <serverip> 1>/dev/null" 100 times in a loop while timing start and end of the test. Possible variation of the results due to the operating system should be minimal.
Results
Backend | gmysql | OpenDBX(mysql) | OpenDBX(pgsql) | OpenDBX(sqlite3) |
---|---|---|---|---|
Lookup (q/sec) | 446 | 454 | 270 | 839 |
Lookup (q/sec) | 1033 | 1118 | 272 | 848 |
Lookup (q/sec) | 1033 | 1118 | 272 | 844 |
Lookup (avg) | 837 | 897 | 271 | 844 |
AXFR (sec) | 198 | 160 | 271 | 224 |
Back to Overview