Re: Benchmarking kqueue() performance?

From: Terry Lambert (tlambert2_at_mindspring.com)
Date: 10/18/03

  • Next message: Bruce M Simpson: "Re: sshd source code"
    Date: Fri, 17 Oct 2003 22:03:42 -0700
    To: Lev Walkin <vlm@netli.com>
    
    

    Lev Walkin wrote:
    > One of the most comprehensive sites about that problem is:
    >
    > http://www.kegel.com/c10k.html

    That's about scaling to a large number of connections, not about
    kqueue() vs. select performance.

    The biggest problem with a large number of connections, at least
    as far as FreeBSD is concerned, is the TCP timer implementation
    using a callout wheel, since any expiring timer has to traverse
    every bucket in the chain, instead of stopping at the first one
    that's un expired (see the BSD 4.2/4.3 timers for an example of
    the right way to do it).

    FWIW: I've had a FreeBSD box with a static page server on it up
    to 1.6M simultaneous connections with very little work, so 10K
    is pretty trivial in comparison.

    For doing real work, and giving 1G to a server process and 512M
    to caching, this number drops to ~250K connections, but that's
    still 25 time what he claims is some insurmountable barrier.

    BTW, the company for which I did this work is still shipping
    real product that handles those loads on a FreeBSD box, FWIW.

    -- Terry
    _______________________________________________
    freebsd-hackers@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
    To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"


  • Next message: Bruce M Simpson: "Re: sshd source code"

    Relevant Pages

    • Re: Washing machine schematic, OT.
      ... How could the connections become incorrect? ... position lug on the new timer box. ... timer replacement. ... roo cullers, ...
      (rec.audio.tubes)
    • Re: Washing machine schematic, OT.
      ... but the fuckin Hoover timer ... How could the connections become incorrect? ... I tried several terminals for the wire that had ... There is a real argy bargy going on amoung roo lovers and roo cullers, ...
      (rec.audio.tubes)
    • Re: Calling web services from .NET
      ... it comes back to the timer and calls the ... You can also use waitforresponse property on the HTTP request object ... there a way that you can control the lifetime of the underlying TCP ... connections that .NET uses to make the web service calls? ...
      (microsoft.public.dotnet.framework.aspnet.webservices)
    • Re: timout on line of code
      ... Use a Timer to call System.exitif it waits too long. ... >>Knute Johnson ... You could try using some other form of socket to ... satisfactory if only a small percentage of your connections actually hang. ...
      (comp.lang.java.programmer)
    • Re: Connection Weirdness
      ... My business object code does no threading but this app ... code off it is in a separate thread from the previous timer event. ... the connections in the pool will be closed after a period ...
      (microsoft.public.dotnet.framework.adonet)