8–iSER Configuration
Optimizing Linux Performance
112
AH0054601-00 B
Configuring Kernel sysctl Settings
Set the kernel sysctl settings as follows:
sysctl -w net.ipv4.tcp_mem="4194304 4194304 4194304"
sysctl -w net.ipv4.tcp_wmem="4096 65536 4194304"
sysctl -w net.ipv4.tcp_rmem="4096 87380 4194304"
sysctl -w net.core.wmem_max=4194304
sysctl -w net.core.rmem_max=4194304
sysctl -w net.core.wmem_default=4194304
sysctl -w net.core.rmem_default=4194304
sysctl -w net.core.netdev_max_backlog=250000
sysctl -w net.ipv4.tcp_timestamps=0
sysctl -w net.ipv4.tcp_sack=1
sysctl -w net.ipv4.tcp_low_latency=1
sysctl -w net.ipv4.tcp_adv_win_scale=1
echo 0 > /proc/sys/vm/nr_hugepages
Configuring IRQ Affinity Settings
The following example sets CPU core 0, 1, 2, and 3 to IRQ XX, YY, ZZ, and XYZ
respectively. Perform these steps for each IRQ assigned to a port (default is eight
queues per port).
systemctl disable irqbalance
systemctl stop irqbalance
cat /proc/interrupts | grep qedr
Shows IRQ assigned to each port queue
echo 1 > /proc/irq/XX/smp_affinity_list
echo 2 > /proc/irq/YY/smp_affinity_list
echo 4 > /proc/irq/ZZ/smp_affinity_list
echo 8 > /proc/irq/XYZ/smp_affinity_list
Configuring Block Device Staging
Set the block device staging settings for each iSCSI device or target as follows:
echo noop > /sys/block/sdd/queue/scheduler
echo 2 > /sys/block/sdd/queue/nomerges
echo 0 > /sys/block/sdd/queue/add_random
echo 1 > /sys/block/sdd/queue/rq_affinity