<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Hi Bert!<br>
</p>
<br>
<div class="moz-cite-prefix">Am 19.09.2017 um 21:18 schrieb bert
hubert:<br>
</div>
<blockquote type="cite"
cite="mid:20170919191810.GA3602@server.ds9a.nl">
<pre wrap="">Can you redo your measurements against 4.1rc1? We fixed a lot in there.
Would be interesting to know if 4.1 is already better.
</pre>
</blockquote>
<br>
Targets: reg-tst1, reg-tst2. (they are identical: 4vCPUs, 8GB RAM,
no other VMs running on this hypervisor)
<p>
Tester and Target are in the same network, 1GBit, almost idle,
connected via a Switch.
</p>
<p>
The list of testdomains has 700.000 unique entries
</p>
<p>
Testscenario: Every target host will be tested 2 times:
</p>
<ul>
<li class="level1">
<div class="li"> domU reboot (caches will be empty)</div>
</li>
<li class="level1">
<div class="li"> disable slony replication (no updates to the
DB)</div>
</li>
<li class="level1">
<div class="li"> test run 1 (will be slow, all caches empty)</div>
</li>
<li class="level1">
<div class="li"> test run 2 (PDNS caches will be empty again as
the test run lasts several minutes, but the Linux Filesystem
Cache should be hot and hence DB-Queries should be much
faster)</div>
</li>
</ul>
<p>
Every test will be reproduced 2 times to see how stable the
results are.</p>
<p>For testing I am using dnsperf with 2 query-lists:</p>
<p>1. query the SOA for every <domain></p>
<p>2. query the A for every www.<domain></p>
<p>(the table is best viewed in HTML)<br>
</p>
<table class="inline">
<tbody>
<tr class="row0">
<th class="col0 leftalign"> Test-Target </th>
<th class="col1 centeralign" colspan="4"> reg-tst1 </th>
<th class="col5 centeralign" colspan="4"> reg-tst2 </th>
</tr>
<tr class="row1">
<th class="col0 leftalign">Version Server </th>
<th class="col1"> Run1 cold </th>
<th class="col2"> Run1 hot </th>
<th class="col3"> Run2 cold </th>
<th class="col4"> Run2 hot </th>
<th class="col5"> Run1 cold </th>
<th class="col6"> Run1 hot </th>
<th class="col7"> Run2 cold </th>
<th class="col8"> Run2 hot </th>
</tr>
<tr class="row2">
<td class="col0 leftalign"> 3.4.11 SOA </td>
<td class="col1">2162 (lost1039)</td>
<td class="col2">4167 (lost828) </td>
<td class="col3">2152 (lost1183)</td>
<td class="col4">4176 (lost1092)</td>
<td class="col5">2171 (lost1108)</td>
<td class="col6">4456 (lost953) </td>
<td class="col7">2176 (lost1180) </td>
<td class="col8">4459 (lost755) </td>
</tr>
<tr class="row3">
<td class="col0 leftalign"> 3.4.11 A </td>
<td class="col1">1361 (lost652) </td>
<td class="col2">2463 (lost201) </td>
<td class="col3">1385 (lost608) </td>
<td class="col4">2432 (lost113) </td>
<td class="col5">1378 (lost657) </td>
<td class="col6">2568 (lost229) </td>
<td class="col7"> n/a<br>
</td>
<td class="col8"> n/a<br>
</td>
</tr>
<tr class="row4">
<td class="col0 leftalign"> 4.0.4 SOA </td>
<td class="col1">2260 (lost134) </td>
<td class="col2">4546 (lost274) </td>
<td class="col3">2240 (lost201) </td>
<td class="col4">4625 (lost133) </td>
<td class="col5 leftalign">2020 (lost43) </td>
<td class="col6">4900 (lost152) </td>
<td class="col7 leftalign">2248 (lost98) </td>
<td class="col8">4900 (lost130) </td>
</tr>
<tr class="row5">
<td class="col0 leftalign"> 4.0.4 A </td>
<td class="col1">1142 (lost140) </td>
<td class="col2">1781 (lost123) </td>
<td class="col3">1143 (lost497) </td>
<td class="col4">1783 (lost147) </td>
<td class="col5">1013 (lost513) </td>
<td class="col6">1504 (lost101) </td>
<td class="col7">1021 (lost516) </td>
<td class="col8">1543 (lost132) </td>
</tr>
<tr class="row6">
<td class="col0"> 0.0.g916d19c SOA </td>
<td class="col1">2359 (lost629) </td>
<td class="col2">6141 (lost521) </td>
<td class="col3">2375 (lost686) </td>
<td class="col4">6152 (lost472) </td>
<td class="col5">2446 (lost206) </td>
<td class="col6">6779 (lost229) </td>
<td class="col7">2463 (lost192) </td>
<td class="col8">6795 (lost181) </td>
</tr>
<tr class="row7">
<td class="col0 leftalign"> 0.0.g916d19c A </td>
<td class="col1">1479 (lost563) </td>
<td class="col2">2791 (lost1164)</td>
<td class="col3">1426 (lost917) </td>
<td class="col4">2763 (lost1196)</td>
<td class="col5">1327 (lost689) </td>
<td class="col6">2491 (lost989) </td>
<td class="col7">1342 (lost596) </td>
<td class="col8">2489 (lost996) </td>
</tr>
</tbody>
</table>
<p>Hence, master is faster than 4.0. 4.0 is faster or slower then
3.4.11.</p>
<p>I suspect that the prepared-statements in 4.0 caused the
performance drop, as every DB query are now 2 DB interactions:
PREPARE SELECT ... + EXECUTE</p>
<p>TODO: testing with real traffic patterns</p>
<p><br>
</p>
<p>regards</p>
<p>Klaus<br>
</p>
<p><br>
</p>
<br>
</body>
</html>