Comments (10)
Avner,
under-load and playback modes have different threads for send and receive as a
result in usual case SentMessages and ReceiveMessages statistics are not equal.
Could you clarify if setting --reply-every as 1 for these modes should change
their algorithm to ping-pong i.e. do send and receive in the same thread?
Original comment by [email protected]
on 5 Apr 2011 at 2:38
from sockperf.
No. this is not reason that we'll change to ping-pong (the same as regular ul
with --reply-every=1). Anyhow, it is not correct to use --reply-every=1.
I believe you only need to wait short time (say 20 milliseconds) after sending
last pb packet for its response. Isn't it?
Original comment by [email protected]
on 5 Apr 2011 at 3:04
from sockperf.
More common question:
Currently, sockperf does not guarantee getting all reply packets inheriting
legacy behaivour. So it is admissible case when a client sends packet with
ping-pong flag, interrupted by timer sets status as exit (in case playback
simply sets status exit) and does not wait for relply.
Should we stay on this manner or change requirements to the tool?
Original comment by [email protected]
on 6 Apr 2011 at 5:31
- Changed state: Started
from sockperf.
No need to change requirements, I added the 20milliseconds wait after sending
last packet. This should be more than enough for receiver thread to receive
last replies.
Igor, Please test it and let me know if it fixed the issue!
(PS, I agree that reply of last packet is not important in real tests)
Original comment by [email protected]
on 6 Apr 2011 at 6:18
- Changed title: Sockperf with playback: reply for the very last packet(s) is lost
from sockperf.
I think that this changes can bring confusion for expected behavior of playback
and under-load modes. We say that playback mode is based under-load algorithm
but these changes make it slightly differ (mostly it could be imperceptible but
can confuse as fake effect). Moreover there is possibility that wait time is
not insufficient.
The same question can be raised for ping-pong mode too.
So I think we need to set clear requirements for this case for all modes and
adapt code to these requirements if it is needed.
What do you think?
Original comment by [email protected]
on 6 Apr 2011 at 6:41
from sockperf.
i don't agree with you.
please let me know if this solved the issue in playback!
Original comment by [email protected]
on 6 Apr 2011 at 9:00
from sockperf.
Checked with r43 (w/o effect):
$~/prj/sockperf_r43/inst/bin/sockperf sr -i 10.10.10.51 -p 12345
sockperf: == version #2.5.43 ==
sockperf: [SERVER] listen on:
[ 0] IP = 10.10.10.51 PORT = 12345 # UDP
sockperf: Warmup stage (sending a few dummy packets)...
sockperf: [tid 17130] using recvfrom() to block on socket(s)
$~/prj/sockperf_r43/inst/bin/sockperf pb -i 10.10.10.51 -p 12345
--reply-every=1 --data-file=issue16.txt
sockperf: == version #2.5.43 ==
sockperf[CLIENT] send on:sockperf: using recvfrom() to block on socket(s)
[ 0] IP = 10.10.10.51 PORT = 12345 # UDP
sockperf: Warmup stage (sending a few dummy packets)...
sockperf: Starting test...
sockperf: Test ended
sockperf: ========= Printing statistics for Server No: 0
sockperf: [including warmup] RunTime=20.444 sec; SentMessages=12;
ReceivedMessages=11
sockperf: ====> avg-lat= 41.164 (std-dev=13.634)
sockperf: # dropped packets = 0; # duplicated packets = 0; # out-of-order
packets = 0
sockperf: Summary: Latency is 41.164 usec
sockperf: Total 10 observations; each percentile contains 0.10 observations
sockperf: ---> <MAX> observation = 76.344
sockperf: ---> percentile 99.99 = 76.344
sockperf: ---> percentile 99.90 = 76.344
sockperf: ---> percentile 99.50 = 76.344
sockperf: ---> percentile 99.00 = 76.344
sockperf: ---> percentile 95.00 = 76.344
sockperf: ---> percentile 90.00 = 43.875
sockperf: ---> percentile 75.00 = 43.369
sockperf: ---> percentile 50.00 = 39.505
sockperf: ---> percentile 25.00 = 33.338
sockperf: ---> <MIN> observation = 26.772
Original comment by [email protected]
on 6 Apr 2011 at 1:31
from sockperf.
thanks, please check r44
Original comment by [email protected]
on 6 Apr 2011 at 2:02
from sockperf.
Checked with r45 (wait brings effect):
$~/prj/sockperf_r45/inst/bin/sockperf sr -i 10.10.10.51 -p 12345
sockperf: == version #2.5.45 ==
sockperf: [SERVER] listen on:
[ 0] IP = 10.10.10.51 PORT = 12345 # UDP
sockperf: Warmup stage (sending a few dummy packets)...
sockperf: [tid 25340] using recvfrom() to block on socket(s)
sockperf: Test end (interrupted by user)
sockperf: Total 12 messages received and handled
sockperf: cleanupAfterLoop() exit
$~/prj/sockperf_r45/inst/bin/sockperf pb -i 10.10.10.51 -p 12345
--reply-every=1 --data-file=issue16.txt
sockperf: == version #2.5.45 ==
sockperf[CLIENT] send on:sockperf: using recvfrom() to block on socket(s)
[ 0] IP = 10.10.10.51 PORT = 12345 # UDP
sockperf: Warmup stage (sending a few dummy packets)...
sockperf: Starting test...
sockperf: Test ended
sockperf: ========= Printing statistics for Server No: 0
sockperf: [including warmup] RunTime=20.444 sec; SentMessages=12;
ReceivedMessages=12
sockperf: ====> avg-lat= 42.483 (std-dev=17.417)
sockperf: # dropped packets = 0; # duplicated packets = 0; # out-of-order
packets = 0
sockperf: Summary: Latency is 42.483 usec
sockperf: Test end (interrupted by signal 2)
sockperf: Total 11 observations; each percentile contains 0.11 observations
sockperf: ---> <MAX> observation = 80.096
sockperf: ---> percentile 99.99 = 80.096
sockperf: ---> percentile 99.90 = 80.096
sockperf: ---> percentile 99.50 = 80.096
sockperf: ---> percentile 99.00 = 80.096
sockperf: ---> percentile 95.00 = 69.554
sockperf: ---> percentile 90.00 = 69.554
sockperf: ---> percentile 75.00 = 42.436
sockperf: ---> percentile 50.00 = 39.026
sockperf: ---> percentile 25.00 = 28.114
sockperf: ---> <MIN> observation = 26.130
Original comment by [email protected]
on 7 Apr 2011 at 2:01
from sockperf.
thanks. this means the fix is okay :)
Original comment by [email protected]
on 7 Apr 2011 at 2:17
- Changed state: Fixed
from sockperf.
Related Issues (20)
- ERROR: _seqN > m_maxSequenceNo in v3.7 HOT 9
- ping-pong on Arm seems does not respect --mps parameter HOT 3
- Configure attempts to compile c++ code with gcc but not with g++ HOT 2
- print date&time every time it is executed HOT 4
- Floating point exception with --histogram HOT 2
- How to read sockperf output HOT 4
- _seqN > m_maxSequenceNo (100% reproducible on ppc64le architecture) HOT 4
- sockperf tcp mode: 100% cpu HOT 7
- Void function returing according to the documentation a value
- Non documented argument of function process_buffer
- Confusing commenting out code
- Need help on Sockperf configuration on Azure Ubuntu instances HOT 9
- sockperf server hung on sockperf: [tid1269] using recvfrom() to block on socket(s) HOT 4
- how to install sockperf onwindows 10 and window 11 machines HOT 8
- RedHat support HOT 2
- Simetimes I get "No messages received" and have to retry HOT 3
- sockperf crashed due to segment fault when using libvma HOT 13
- Soak Testing Multicast Environments with More Than One Receiver HOT 2
- TCP testing with -F doesn't work HOT 1
- Memory issues HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sockperf.