Всем привет. Столкнулся с проблемой, и причину этому я никак не могу найти уже несколько недель. Далее, я опишу архитектуру:
Есть 4 фронта (linux, ubuntu-12.04, ядро 3.2.0-76), это серверы с 2xXeon E-5, 16GB RAM и 1гигабитным портом который смотрит в VLAN, на этих фронтах работает веб-приложение на php, приложение хранит некоторые данные в memcache (это отдельный выделенный сервер с 1xXeon E-3, 16GB RAM+ 1gpbs vlan), так как приложение кластеринованное и нагрузка на каждый фронт всегда одинаковая, то понять причину проблемы я тем более не могу. Суть проблемы:
На 3 из 4 серверов появляются ошибки Server memcached_server (tcp 11211) failed with: Connection timed out (110), из-за этого соответственно падает сессия пользователя (это может быть сессия авторизации, либо сессия хранения кук) Самое интересное что серверы идентичны друг другу по железу, настройкам, коду, сервисам и версиям пакетов.
net.core.somaxconn = 65000
net.core.netdev_max_backlog = 3000
net.core.rmem_default = 524288
net.core.wmem_default = 393216
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.unix.max_dgram_qlen = 256
net.ipv4.ip_forward = 0
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_congestion_control = htcp
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_fack = 1
net.ipv4.tcp_dsack = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_synack_retries = 5
net.ipv4.tcp_abort_on_overflow = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 0
net.ipv4.neigh.default.gc_thresh1 = 512
net.ipv4.neigh.default.gc_thresh2 = 1024
net.ipv4.neigh.default.gc_thresh3 = 2048
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.proxy_arp = 1
net.ipv4.conf.default.proxy_arp = 1
net.netfilter.nf_conntrack_max = 1048576
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait=1
net.ipv4.tcp_fin_timeout=10
net.ipv4.ip_local_port_range="16384 65534"
net.ipv4.tcp_tw_reuse=1
net.netfilter.nf_conntrack_tcp_timeout_established=600
net.ipv4.tcp_slow_start_after_idle=0
echo "131072" > /sys/module/nf_conntrack/parameters/hashsize
ifconfig eth1 txqueuelen 10000
cat /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# RX/TX Backlog phy
ETHTOOL="/sbin/ethtool"
$ETHTOOL -G eth0 rx 4096 tx 4096
$ETHTOOL -G eth1 rx 4096 tx 4096
$ETHTOOL -G eth2 rx 4096 tx 4096
$ETHTOOL -G eth3 rx 4096 tx 4096
ethtool -i eth1
driver: igb
version: 3.2.10-k
firmware-version: 1.5-9
bus-info: 0000:02:00.1
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
ethtool eth1
Settings for eth1:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: Unknown
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000003 (3)
drv probe
Link detected: yes
ethtool -S eth1 | grep err
rx_crc_errors: 0
rx_missed_errors: 1
tx_aborted_errors: 0
tx_carrier_errors: 0
tx_window_errors: 0
tx_deferred_ok: 0
rx_long_length_errors: 0
rx_short_length_errors: 0
rx_align_errors: 0
rx_errors: 0
tx_errors: 0
rx_length_errors: 0
rx_over_errors: 0
rx_frame_errors: 0
rx_fifo_errors: 1
tx_fifo_errors: 0
tx_heartbeat_errors: 0
rx_queue_0_csum_err: 0
rx_queue_1_csum_err: 0
rx_queue_2_csum_err: 0
rx_queue_3_csum_err: 0
rx_queue_4_csum_err: 0
rx_queue_5_csum_err: 0
rx_queue_6_csum_err: 0
rx_queue_7_csum_err: 0
memcached stat:
STAT listen_disabled_num 0
STAT curr_connections 59
Все серверы общаются между собой по гигабитному vlan и трафик внутри него не превышает 50mbps, ошибка возникает только на 3 серверах, на 4 никаких ошибок нет (по крайней мере за эту неделю), на сервере работает nginx+php5-fpm с модулем memcache.
Буду признателен за советы и за любую помощь.
Спасибо.