#9 implement WebScarab connection latency settings

Scott Hasse

The ability for WebScarab connection throughput
limiting is wonderful. However, it would help testing
efforts even more if we were able to configure latency
settings for both incoming and outgoing HTTP requests.
This would help simulate, for instance, satellite
connections that use a telephone line for sending requests.




  • Rogan Dawes

    Rogan Dawes - 2005-03-23

    Logged In: YES

    Can you define exactly how the delay behaviour should work?

    In terms of:

    For every separate "read()" call, you should sleep so long?


    For the first read after a write, delay xxx ms?

    Once the exact behaviour is defined, it should be easy to

  • Scott Hasse

    Scott Hasse - 2005-03-23

    Logged In: YES

    In my mind, it would work like a physical link. That is,
    each HTTP request would have the delay applied to it. For
    instance, if I want to test a modem connection to a server
    5000 miles away, I might implement a bandwidth limitation,
    and perhaps 100ms of upstream and downstream latency on the
    link. Each HTTP request would then incur that latency. If
    I was testing an application to see how it would perform
    over a satellite link, I might have an upload latency of 30
    ms and a download latency of 500ms.

    Also, for testing (simulating) asymmetric DSL, it might be
    interesting to be able to tune an upload bandwidth limit as
    well as a download one.

    Hope that clarifies a bit.



  • Rogan Dawes

    Rogan Dawes - 2005-03-24

    Logged In: YES

    Hi Scott,

    Yes, I certainly understand the CONCEPT of introducing
    latency. But the IMPLEMENTATION is the question.

    Could you maybe take a look at how the NetworkSimulator
    class works, and see if you can suggest how to introduce
    latency into the equation?


  • Rogan Dawes

    Rogan Dawes - 2005-03-24

    Logged In: YES

    In fact, there is reasonably good support for connection
    latency implemented in the Network Simulator. For an
    example, try the 28800 modem simulation.

    Latency is simulated by making sure that any write call
    takes at least as long as the latency + the time needed to
    transfer the number of bytes. So, if the round trip time for
    your modem/satellite connection is, say, 1 second, the write
    would take 1.1 seconds to write the HTTP request, then the
    read would take over, and read data at the downstream rate.

    the only thing that is still needed is some kind of user
    interface to create new network simulators. Until that
    happens (and frankly, it is VERY low priority for me), I
    think the best way to make new simulators available is for
    people to give me the specs (latency, upstream and
    downstream bandwidth), and I'll include it in the next release.

  • Rogan Dawes

    Rogan Dawes - 2005-03-24
    • labels: 551869 -->
    • status: open --> closed-fixed

Log in to post a comment.