Before I get into Perl specifics, I would highly recommend you take a look at Net::Packet::Dump or plain old tcpdump if you're on a compatible system, so you can see what's actually going on between client and server at a packet level. Simply slowing down the client may not have much bearing on the server/proxy, as the TCP/IP stack will buffer sent packets, intermediate routers can shape traffic, and the specific behavior of your proxy (including network settings in the OS/kernel) can have a great impact.

Particularly if you are serving small requests, the speed of the client may have little to do with freeing up the server process, and main thing you free the server process from in any case is an open socket, which may or may not be significant. If you think you're also freeing up server RAM or CPU cycles by offloading to a proxy, I'd urge you to benchmark this thoroughly before introducing another hop into your architecture, if you haven't already done so.

You talk about freeing the "server process". If your use of the word "process" implies that the proxy would be another application running on the same (virtual) machine, benchmarking will be even more important.

I know I'm now way off-topic from a Perl point of view here, but we PerlMonks pride ourselves on being equal opportunity discussors sometimes. :-) The short version is: when trying to squeeze performance from network servers, I've found thorough network and server analysis under load is the only way to go. I'd like to know more about the analysis you've done, as there are many different ways to load test applications, and many definitions of "slow client" (the usual suspects being limited bandwidth, high latency, packet loss, combination of all three).


In reply to Re: Need slow web client by rjt
in thread Need slow web client by McA

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.