<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body dir="ltr" bgcolor="#ffffff" text="#000000">
<p style="margin-bottom: 0cm; margin-top: 0pt;">Jonathan Ben Avraham
wrote:<br>
</p>
<blockquote
 cite="mid:Pine.LNX.4.64.0902021806560.16192@linray.tkos.co.il"
 type="cite">Hi Marc,
  <br>
The .NET client has a bug that prevents use of persistent MySQL
connections. The application is already cached up the wazoo.
  <br>
  <br>
Where would I look in the kernel to see if it is rejecting the
connections as opposed to MySQL? Or is this just unlikely given that
the hardware is fairly robust?
  <br>
</blockquote>
<br>
I don't know of a way to get the statistics from the kernel for that,
but maybe this will help:<br>
<br>
"The duration that affects the rate at which new connections are
accepted is the time spent on the queue of pending incoming
connections. This duration is equal to the round trip time for the
SYN|ACK message and its ACK response plus the time taken for the client
to process the SYN|ACK message plus the delay for the server to process
the ACK and call <b>accept()</b>.
<p>The rate at which new
connections can be accepted is equal to the number of entries which can
fit on the listen queue divided by the average length of time each
entry spends on the queue. Therefore, the larger the queue, the greater
the rate at which new connection requests can be accepted."</p>
<p style="margin-bottom: 0cm; margin-top: 0pt;"><br>
</p>
<p style="margin-bottom: 0cm; margin-top: 0pt;"><a class="moz-txt-link-freetext" href="http://www.linuxjournal.com/files/linuxjournal.com/linuxjournal/articles/023/2333/2333s2.html">http://www.linuxjournal.com/files/linuxjournal.com/linuxjournal/articles/023/2333/2333s2.html</a><br>
</p>
<blockquote
 cite="mid:Pine.LNX.4.64.0902021806560.16192@linray.tkos.co.il"
 type="cite">Thanks,
  <br>
  <br>
&nbsp;- yba
  <br>
  <br>
  <br>
On Mon, 2 Feb 2009, <a class="moz-txt-link-abbreviated" href="mailto:marc@swiftouch.com">marc@swiftouch.com</a> wrote:
  <br>
  <br>
  <blockquote type="cite">Date: Mon, 2 Feb 2009 18:28:21 +0200 (IST)
    <br>
From: <a class="moz-txt-link-abbreviated" href="mailto:marc@swiftouch.com">marc@swiftouch.com</a>
    <br>
To: Jonathan Ben Avraham <a class="moz-txt-link-rfc2396E" href="mailto:yba@tkos.co.il">&lt;yba@tkos.co.il&gt;</a>
    <br>
Cc: Gilad Ben-Yossef <a class="moz-txt-link-rfc2396E" href="mailto:gilad@codefidence.com">&lt;gilad@codefidence.com&gt;</a>, ILUG
<a class="moz-txt-link-rfc2396E" href="mailto:linux-il@cs.huji.ac.il">&lt;linux-il@cs.huji.ac.il&gt;</a>
    <br>
Subject: Re: [YBA] TCP connection rate
    <br>
    <br>
Hi all
    <br>
    <br>
Without delving into the stack behaviour, I would try the (potentially)
cheaper route - is there a possibility of amalgamating queries to the
database, thereby reducing the per second metric? Or - perish the
thought (caveat emptor, I am not acquainted with the app) - caching
replies at the client?
    <br>
    <br>
I am not sure the netstat trick can work in this case - both since (as
YBA noted) the connexions are brief and because netstat deals with
connections very late in their lifecycle. I am not sure how connexions
pending on the stack would show up.
    <br>
    <br>
M
    <br>
    <br>
---MAV
    <br>
Marc. Volovic
    <br>
+972-54-467-6764
    <br>
<a class="moz-txt-link-abbreviated" href="mailto:marc@swiftouch.com">marc@swiftouch.com</a>
    <br>
Sent from my iPhone
    <br>
    <br>
On Feb 2, 2009, at 5:06 PM, Jonathan Ben Avraham <a class="moz-txt-link-rfc2396E" href="mailto:yba@tkos.co.il">&lt;yba@tkos.co.il&gt;</a>
wrote:
    <br>
    <br>
    <blockquote type="cite">Hi Gilad,
      <br>
Thanks. The problem is that the connections are exceedingly
short-lived. By the time I type in "netstat -na" already 1000 of them
have come and gone.
      <br>
      <br>
- yba
      <br>
      <br>
      <br>
On Mon, 2 Feb 2009, Gilad Ben-Yossef wrote:
      <br>
      <br>
      <blockquote type="cite">Date: Mon, 02 Feb 2009 16:29:23 +0200
        <br>
From: Gilad Ben-Yossef <a class="moz-txt-link-rfc2396E" href="mailto:gilad@codefidence.com">&lt;gilad@codefidence.com&gt;</a>
        <br>
To: Jonathan Ben Avraham <a class="moz-txt-link-rfc2396E" href="mailto:yba@tkos.co.il">&lt;yba@tkos.co.il&gt;</a>
        <br>
Cc: ILUG <a class="moz-txt-link-rfc2396E" href="mailto:linux-il@cs.huji.ac.il">&lt;linux-il@cs.huji.ac.il&gt;</a>
        <br>
Subject: Re: [YBA] TCP connection rate
        <br>
Jonathan Ben Avraham wrote:
        <br>
        <br>
        <blockquote type="cite">Dear list members,
          <br>
What limits the rate that the Linux kernel TCP stack can accept new
connections? How is that rate related to the rate that the application
listening on a port can handle the connections? That is, if I try to
connect and get ECONNREFUSED is there a way for me to know if I got it
because the kernel could not handle the connection rate or if I got it
because I had more connection attempts than the backlog parameter of my
listen() call? In other words, do I need to tune the kernel or the
application (MySQL) for the desired high connection rate and how would
I know?
          <br>
        </blockquote>
        <br>
Just check what the value of the backlog parameter is and then use
netstat to watch the application connections when you get ECONNREFUSED
error. If the number of connections in netstat is equal (or at least
very close to) the backlog parameter then it's the backlog parameter,
otherwise it's something else.
        <br>
        <br>
Gilad
        <br>
        <br>
        <br>
      </blockquote>
      <br>
--&nbsp;<br>
EE 77 7F 30 4A 64 2E C5&nbsp; 83 5F E7 49 A6 82 29 BA&nbsp;&nbsp;&nbsp; ~. .~&nbsp;&nbsp; Tk Open
Systems
      <br>
=}------------------------------------------------ooO--U--Ooo------------{=
      <br>
&nbsp;&nbsp; - <a class="moz-txt-link-abbreviated" href="mailto:yba@tkos.co.il">yba@tkos.co.il</a> - tel: +972.2.679.5364, <a class="moz-txt-link-freetext" href="http://www.tkos.co.il">http://www.tkos.co.il</a> -
      <br>
      <br>
_______________________________________________
      <br>
Linux-il mailing list
      <br>
<a class="moz-txt-link-abbreviated" href="mailto:Linux-il@cs.huji.ac.il">Linux-il@cs.huji.ac.il</a>
      <br>
<a class="moz-txt-link-freetext" href="http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il">http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il</a>
      <br>
    </blockquote>
  </blockquote>
  <br>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">-- 
Gilad Ben-Yossef 
Chief Coffee Drinker

Codefidence Ltd.
The code is free, your time isn't.(TM)

Web:    <a class="moz-txt-link-freetext" href="http://codefidence.com">http://codefidence.com</a>
Email:  <a class="moz-txt-link-abbreviated" href="mailto:gilad@codefidence.com">gilad@codefidence.com</a>
Office: +972-8-9316883 ext. 201
Fax:    +972-8-9316885
Mobile: +972-52-8260388

        The Doctor: Don't worry, Reinette, just a nightmare. 
        Everyone has nightmares. Even monsters from under the 
        bed have nightmares, don't you, monster?
        Reinette: What do monsters have nightmares about?
        The Doctor: Me! 
</pre>
</body>
</html>