On Fri, 26 Sep 2008, Vitaly Ivanov wrote:
We have a problem with linux tcp/ip. There are two equal servers connected to 1Gbit switch, one with FreeBSD, another with Linux. On each server we use nginx http server. FreeBSD server output is about 450Mbit/s, but Linux server maximum 70Mibt/s only. Accept any ideas.
Output how? A single-stream output, or output to multiple (hundreds or thousands?) clients? Where is the test client, in the same lan or further away in the network?
It seems you have tuned Linux TCP variables. Have you tried without them?
# uname -a Linux telecom2 2.6.26.5-x86_64-common_server #2 SMP Thu Sep 25 23:35:06 MSD 2008 x86_64 Intel(R) Xeon(R) CPU 5130 @ 2.00GHz GenuineIntel GNU/Linux # cat /etc/sysctl.conf net.ipv4.tcp_max_syn_backlog = 131072 net.ipv4.tcp_max_orphans = 262144 net.core.somaxconn = 16384 net.ipv4.tcp_fin_timeout=10 net.ipv4.tcp_max_tw_buckets = 360000 net.core.netdev_max_backlog = 3000 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.core.rmem_default = 262144 net.core.wmem_default = 262144 net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 65536 16777216 net.ipv4.tcp_no_metrics_save=1 net.ipv4.tcp_moderate_rcvbuf=1 net.ipv4.tcp_timestamps = 0 net.ipv4.ip_local_port_range = 10000 65535 net.ipv4.tcp_congestion_control = htcp net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syn_retries = 2 fs.file-max = 2097152 # iptables -L -n -v firewall empty ifconfig eth0 RX packets:4934238 errors:0 dropped:0 overruns:0 frame:0 TX packets:5572963 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:695642752 (663.4 Mb) TX bytes:4010944866 (3825.1 Mb) # lspci -vvv -s 04:00.0 04:00.0 Ethernet controller: Intel Corporation PRO/1000 EB Network Connection with I/O Acceleration (rev 01) Subsystem: Super Micro Computer Inc Unknown device 1096 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 0, Cache Line Size: 32 bytes Interrupt: pin A routed to IRQ 760 Region 0: Memory at d8020000 (32-bit, non-prefetchable) [size=128K] Region 1: Memory at d8000000 (32-bit, non-prefetchable) [size=128K] Region 2: I/O ports at 2000 [size=32] [virtual] Expansion ROM at d8400000 [disabled] [size=64K] Capabilities: [c8] Power Management version 2 Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=1 PME- Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable+ Address: 00000000fee0f00c Data: 41a1 Capabilities: [e0] Express Endpoint IRQ 0 Device: Supported: MaxPayload 256 bytes, PhantFunc 0, ExtTag- Device: Latency L0s <512ns, L1 <64us Device: AtnBtn- AtnInd- PwrInd- Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported- Device: RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ Device: MaxPayload 128 bytes, MaxReadReq 512 bytes Link: Supported Speed 2.5Gb/s, Width x4, ASPM unknown, Port 0 Link: Latency L0s <128ns, L1 <64us Link: ASPM Disabled RCB 64 bytes CommClk+ ExtSynch- Link: Speed 2.5Gb/s, Width x4 Capabilities: [100] Advanced Error Reporting Capabilities: [140] Device Serial Number 6e-69-61-ff-ff-48-30-00 -- To unsubscribe from this list: send the line "unsubscribe linux-net" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
-- Pekka Savola "You each name yourselves king, yet the Netcore Oy kingdom bleeds." Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings -- To unsubscribe from this list: send the line "unsubscribe linux-net" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html