<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=x-gbk" http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Hello,<br>
    <br>
    See my responses in-line. <br>
    <br>
    On 07/08/2011 10:13 AM, dongwflj wrote:
    <blockquote
      cite="mid:af78bb.eff4.13108984b71.Coremail.dongwflj@163.com"
      type="cite">Hi:<br>
      I am not sure if here is the right place to ask, I just read why
      need 2.0 design page, and as below said:<br>
      <p class="vspace">The <strong>issues</strong> that the new design
        tries to solve are:
      </p>
      <ul>
        <li><strong>I/O blocking</strong> (transport, DB, applications)
        </li>
        <li><strong>scaling with the hardware</strong> resources (I/O
          and parallel processing sync is a bottleneck with the current
          design)
        </li>
      </ul>
      So could anyone share more detail scenario about I/O blocking and
      parallel processing sync? How much performance downgrade due to
      these bottleneck in 1.X version?<br>
    </blockquote>
    <br>
    The performance downgrade depends very much on the configuration
    file. The more functionality that you integrate ( like accounting to
    DB, etc ) that need to block for I/O, the bigger the performance
    downgrade.&nbsp; There have been some tests done that show what is the
    performance penalty you get when using various OpenSIPS features
    like dialog support, DB authentication, DB accounting. See [1]<br>
    <br>
    <blockquote
      cite="mid:af78bb.eff4.13108984b71.Coremail.dongwflj@163.com"
      type="cite"><br>
      As my understanding, server have multiple processes to handle
      parallel incoming messages, the DB operation will block a
      process's work stream, but how about transport and application as
      mentioned above, how it can block the work stream?<br>
      <br>
      Best Regards<br>
      Ewen<br>
    </blockquote>
    <br>
    For transport, TCP can block. If the TCP stack buffers get filled
    up, an attempt to send a message via TCP will block until there is
    enough space. DNS will also block SIP processing, Radius
    communication will do the same.&nbsp; <br>
    <br>
    [1] <a class="moz-txt-link-freetext" href="http://www.opensips.org/Resources/StressTests">http://www.opensips.org/Resources/StressTests</a><br>
    <br>
    <br>
    Regards,<br>
    <pre class="moz-signature" cols="72">-- 
Vlad Paiu
OpenSIPS Developer</pre>
  </body>
</html>