<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>