<div id="docs-body">
 <div class="section">
  <div class="titlepage">
   <div>
    <div>
     <h3 class="title">
      <a name="custom-benchmarks">
      </a>
      10.13.2 Using Your Own Benchmarks
     </h3>
    </div>
   </div>
  </div>
  <a class="indexterm" name="idm46045222073792">
  </a>
  <a class="indexterm" name="idm46045222072752">
  </a>
  <p>
   Benchmark your application and database to find out where the
        bottlenecks are. After fixing one bottleneck (or by replacing it
        with a
   <span class="quote">
    “
    <span class="quote">
     dummy
    </span>
    ”
   </span>
   module), you can proceed to identify
        the next bottleneck. Even if the overall performance for your
        application currently is acceptable, you should at least make a
        plan for each bottleneck and decide how to solve it if someday
        you really need the extra performance.
  </p>
  <p>
   A free benchmark suite is the Open Source Database Benchmark,
        available at
   <a class="ulink" href="http://osdb.sourceforge.net/" target="_blank">
    http://osdb.sourceforge.net/
   </a>
   .
  </p>
  <p>
   It is very common for a problem to occur only when the system is
        very heavily loaded. We have had many customers who contact us
        when they have a (tested) system in production and have
        encountered load problems. In most cases, performance problems
        turn out to be due to issues of basic database design (for
        example, table scans are not good under high load) or problems
        with the operating system or libraries. Most of the time, these
        problems would be much easier to fix if the systems were not
        already in production.
  </p>
  <p>
   To avoid problems like this, benchmark your whole application
        under the worst possible load:
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      The
      <a class="link" href="mysqlslap.html" title="6.5.7 mysqlslap — A Load Emulation Client">
       <span class="command">
        <strong>
         mysqlslap
        </strong>
       </span>
      </a>
      program can be helpful for
            simulating a high load produced by multiple clients issuing
            queries simultaneously. See
      <a class="xref" href="mysqlslap.html" title="6.5.7 mysqlslap — A Load Emulation Client">
       Section 6.5.7, “mysqlslap — A Load Emulation Client”
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      You can also try benchmarking packages such as SysBench and
            DBT2, available at
      <a class="ulink" href="https://launchpad.net/sysbench" target="_blank">
       https://launchpad.net/sysbench
      </a>
      , and
      <a class="ulink" href="http://osdldbt.sourceforge.net/#dbt2" target="_blank">
       http://osdldbt.sourceforge.net/#dbt2
      </a>
      .
     </p>
    </li>
   </ul>
  </div>
  <p>
   These programs or packages can bring a system to its knees, so
        be sure to use them only on your development systems.
  </p>
 </div>
 <br/>
</div>
