Re: tcp send bigger data faster then small data
From: Stephan Absmeier (me_at_privacy.net)
Date: 10/13/03
- Next message: Iwo Mergler: "Re: PCI drivers"
- Previous message: Joe Pfeiffer: "Re: USB printer names"
- In reply to: Stephan Absmeier: "Re: tcp send bigger data faster then small data"
- Next in thread: Waldek Hebisch: "Re: tcp send bigger data faster then small data"
- Reply: Waldek Hebisch: "Re: tcp send bigger data faster then small data"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Mon, 13 Oct 2003 14:00:18 +0200
>>
>>> data fastest average slowest
>>> ================================================
>>> 1000 0.031766 0.0323698 0.037186
>>> 2500 0.031419 0.0315112 0.031607
>>> 5000 0.031157 0.0312168 0.031319
>>> 8000 0.040823 0.0409172 0.041005
>>> 10000 0.040437 0.0405977 0.040693
>>> 10240 0.040190 0.0402849 0.040364
>>> 15000 0.039587 0.0399397 0.040098
>>> 20000 0.039550 0.0396485 0.039733
>>> 25000 0.039024 0.0393186 0.039426
>>> 30000 0.038928 0.0390251 0.0391
>>> 31000 0.037754 0.0386034 0.038794
>>> 31854 0.038263 0.0383824 0.03847
>>> 31855 0.038017 0.0380871 0.038178
>>> 31856 0.003377 0.003417 0.003431
>>> 31857 0.003370 0.0067964 0.03724
>>> 32000 0.003378 0.0034376 0.003461
>>> 33000 0.003410 0.0067806 0.036802
>>> 34000 0.003437 0.0034616 0.003476
>>> 35000 0.003419 0.0034721 0.003499
>>> 40000 0.004366 0.0107605 0.036063
>>> 45000 0.004483 0.0045104 0.00455
>>> 50000 0.035283 0.0353607 0.03545
>>> 55000 0.005510 0.005675 0.005775
>>> 60000 0.005591 0.0057249 0.005954
>>> 65000 0.005879 0.0100547 0.044415
>>> 70000 0.006354 0.0067697 0.006989
>>> 75000 0.006704 0.0105618 0.043935
>>> 80000 0.007581 0.0149989 0.043544
>>> 85000 0.007643 0.0078219 0.008091
>>> 90000 0.008611 0.0124246 0.042909
>>> 95000 0.008654 0.0087931 0.009042
>>> 100000 0.008868 0.0091854 0.009645
>>> 150000 0.013124 0.0176344 0.052137
>>> 200000 0.017541 0.0179289 0.018181
>>> 250000 0.021830 0.026077 0.061378
>>> 300000 0.025925 0.0262731 0.026594
>>> 350000 0.030249 0.0366534 0.060875
>>> 400000 0.034372 0.0346935 0.035909
>>> 500000 0.042992 0.0438456 0.048419
>>> 800000 0.068332 0.0692489 0.074687
Hi all,
nobody answered to my last posting, so I thought I try it
one more time.
the situation (in pseudo code):
open_socket
setoption(SO_LINGER)
bind_socket
generate_a_char[],filled with letters
take_the_starting_time
send_data
close_socket
take_the_ending_time
calculate_duration_of_sending
I called this procedure as run im my former postings. I
repated this procedure 10 times for each packet size, to
middle the duration.
I used a 100MBit BaseT network, switched by a 3COM
SuperStack 4400, host A and B uses Intel 82801BD PRO/100VE
chipsets (e100 driver) running Linux Red Hat 9.0 and host c
and d uses 3Com 3C905 C chipsets (3C59x driver) running Red
Hat 7.3. I used tcpdump to figure out that the mss is 1460
bytes, but every tcp package had a payload of 1448 bytes of
data. I tested 4 combinations of communication for sending:
1 : A -> D
2 : A -> B
3 : C -> D
4 : C -> B
This is what I figured out so far:
1) sending 3 * 1448, 4 * 1448, 5*1448, 6*1448, 7*1448,
8*1448, 9*1448, 11*1448, 13*1448, 14*1448, 15*1448 and
16*1448 is done in 3 to 4 milliseconds (ms) for each
sending, but sending only 1 bytes less or more the duration
is about 30 to 40 ms.
2) sending 12 * 1448 bytes was faster then 2 ms for sending
1,2 and 4
3) starting with 17 * 1448 for comunication 1 and 3: values
that are equal or bigger ( up to 33305 bytes, there I
stopped for this test) are being send faster then 8 ms
4) for communication 2 and 4 there is the threshold of 22 *
1448 so that values thar are equal or bigger aer being send
faster then 8 ms
5) sending 10 * 1448 was really bad for all communications
(1, 2, 3, 4): 32 to 37 ms.
I hope you can give me some hints. Is there a possibility to
flush the buffer? Maybe by changing the driver? In the
application I have to modify, all the data is less then 10
kb but there are different network interfaces.
You asked for an streamint test. I think that's it:
netperf -t TCP_STREAM -H 192.169.1.110 -- -r 1
TCP STREAM TEST to 192.169.1.110
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 10.00 93.85
I did one more test. I changed the maximum segmentsize
using setsockopt and TCP_MAXSEG to 1280 bytes. But 10240
bytes (= 8*1280) isn't faster and the other get worse.
I can need any hint, any idea.
please :-((((((((
Stephan
- Next message: Iwo Mergler: "Re: PCI drivers"
- Previous message: Joe Pfeiffer: "Re: USB printer names"
- In reply to: Stephan Absmeier: "Re: tcp send bigger data faster then small data"
- Next in thread: Waldek Hebisch: "Re: tcp send bigger data faster then small data"
- Reply: Waldek Hebisch: "Re: tcp send bigger data faster then small data"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|