Назад | Перейти на главную страницу

Высокие сетевые запросы softirq для ядра 3.10 при большом трафике

Мы экспериментировали с развертыванием ядра серии 3.10, которое предоставляется centos через репозиторий centosplus для v6.

Мы заметили кое-что интересное, когда при той же нагрузке нагрузка на сервер в 6-7 раз больше в серии 3.10, чем в стандартной версии 2.6. Используя top, мы заметили, что этот процесс использует много CPU

 [kworker/u66:2]

Это привело нас к установке powertop а потом увидел это

            Usage       Events/s    Category       Description
         1110 ms/s     2045.2   Process        php-fpm: pool www
         36.0 ms/s     2165.4   Timer          tick_sched_timer
         57.7 ms/s     1285.0   Process        nginx: worker process
         13.3 ms/s     416.0        Timer          hrtimer_wakeup
         39.1 ms/s     350.7        Interrupt      [3] net_rx(softirq)

То же самое и с серией 2.6, получающей такое же количество трафика.

            Usage       Events/s    Category       Description
         1795 ms/s     1654.0   Process        php-fpm: pool www
         45.3 ms/s     1110.4   Process        nginx: worker process
        562.8 µs/s     122.4        Process        /usr/bin/java -Xms200m -Xmx2000m -Xss256k -XX:MaxDirectMemorySize=516m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -Dage
        497.1 µs/s      59.3        Process        /usr/sbin/gmond
         16.0 ms/s      30.2        Process        /usr/bin/redis-server 127.0.0.1:6379
          4.7 ms/s      32.8        Process        python /usr/bin/statsd-relay.py
         81.7 ms/s      0.00        Timer          tcp_delack_timer
         24.8 ms/s      0.00        Timer          tick_sched_timer
        549.4 µs/s       9.2        Process        java -Xmx6g -server -Dfile.encoding=utf-8 -XX:OnOutOfMemoryError=kill -9 %p -XX:+HeapDumpOnOutOfMemoryError -XX:HeapD
         15.2 ms/s      0.00        Interrupt      [3] net_rx(softirq)

Как вы можете видеть, net_rx равен 0 в 2.6, но мы получаем 4k / s в 3.10. Спецификации сервера такие же, и все настройки sysctl удалены. Я могу воспроизвести проблему, просто установив 3.10 на сервер.

у нас есть ники

06:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
06:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
06:00.2 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
06:00.3 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)