Ian,

Right now I'm fighting with my Finder/AFP/netatalk/getcwd() performance issues, 
which are a landmine, so the 10GbE slowdowns are the least of my worries. But 
here is what I did find out.

It helps to tune the following TCP stack parameters:

# ndd -set /dev/tcp tcp_recv_hiwat 400000                               
# ndd -set /dev/tcp tcp_xmit_hiwat 400000
# ndd -set /dev/tcp tcp_max_buf 2097152
# ndd -set /dev/tcp tcp_cwnd_max 16777216

Still, I can max out one CPU core at 100% by running a small number of threads 
of netstat or iperf (doesn't really matter which) in parallel. The other cores 
stay mostly idle.

After tuning the parameters as above, I was seeing about 3 Gbit/s throughput 
over the X520 with several threads.

I think the bottleneck is in the ixgbe driver, because running the same tests 
on localhost gives about 200 Gbit/s throughput, so the threads producing and 
consuming the data are definitely not at fault.

Considering comments by Nick Perry and others I suspect it would be worth 
trying to increase the ixgbe driver's rx_queue_number and tx_queue_number via 
/kernel/drv/ixgbe.conf. AIR the max # of queues depends on your hardware 
revision and is either 8 or 16 depending on the Intel part number, while the 
default is 1. As I understand it, this would allow parallelizing the driver 
load across multiple cores.

Thanks to 

        
<http://dtrace.org/blogs/wesolows/2013/12/28/anonymous-tracing-on-smartos/>

it is actually quite easy to tune kernel parameters without rebuilding a new 
platform image. (Keith's instructions seemed a bit scary to me, but they are 
actually very clear and work exactly as advertised. One thing to note is that 
your modifications will show up in /system/boot when the system is running - 
they just override the original files that are still present in the platform 
image.)

I intended to play with rx_queue_number and tx_queue_number via this mechanism, 
but it will be a while before I can do that. Please let me know what you find 
if you decide to try it.

Best,
Chris


>> I'm trying to debug a network performance issue.
>> 
>> I have two servers running SmartOS (20140613T024634Z and 20140501T225642Z), 
>> one is a Supermicro dual Xeon E5649 (64 GB RAM) and the other is a dual Xeon 
>> E5-2620v2 (128 GB RAM). Each has an Intel X520-DA1 10GbE card, and they are 
>> both connected to 10GbE ports on a NetGear GS752TXS switch.
> 
> Did you reach a satisfactory conclusion with this?
> 
> I'm experiencing the what looks like the same issue with two SmartOS systems 
> using Intel X540 10GE cards.  I didn't see the problem when I was testing 
> these two boxes with SmartOS on one and Solaris 11 on the other, so looks to 
> be a SmartOS/Illumos issue.
> 
> I also have some Dell systems which show the same issue, because I hadn't 
> seen the problem on my own systems, I'd put this down to the Dell modules.  
> Now I think it is more general.
> 
> -- 
> Ian.



-------------------------------------------
smartos-discuss
Archives: https://www.listbox.com/member/archive/184463/=now
RSS Feed: https://www.listbox.com/member/archive/rss/184463/25769125-55cfbc00
Modify Your Subscription: 
https://www.listbox.com/member/?member_id=25769125&id_secret=25769125-7688e9fb
Powered by Listbox: http://www.listbox.com

Reply via email to