Перейти к содержимому
Калькуляторы

SMB в линуксе

После длительного безуспешного шаманства решил обратится к сообшеству. Не могу выровнять загрузку по процессорам

post-64581-058740100 1406549624_thumb.png

Исходные данные Centos 6 ядро 2.6.32

приложения:

# ps -Af | grep postgres | wc -l

386

# ps -Af | grep php | wc -l

376

на машине стоят навороченный raid на 2208 чипе. все IRQ разбросанны по процессорам. Как и у сетевой карты. База данных меньше

объема памяти так что все практически крутится в памяти.

Советы от сюда https://code.google.com/p/pgcookbook/wiki/Database_Server_Configuration

перебраны. Эффекта никакого И тем не менн когда смотриш top

большинство процессов посгресса висит на 12 процессоре. Как это победить? может кто сталкивался?

 

# cat /proc/interrupts | grep eth1-

115: 462480706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth1-TxRx-0

116: 11 460794574 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth1-TxRx-1

117: 10 0 587859343 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth1-TxRx-2

118: 10 0 0 875812578 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth1-TxRx-3

119: 10 0 0 0 466812469 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth1-TxRx-4

120: 12 0 0 0 0 874452477 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth1-TxRx-5

121: 10 0 0 0 0 0 987899130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth1-TxRx-6

122: 15 0 0 0 0 0 0 462152202 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge eth1-TxRx-7

# cat /proc/interrupts | grep megasas

89: 0 0 0 0 0 0 3016 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 254794502 IR-PCI-MSI-edge megasas

90: 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 34696709 0 IR-PCI-MSI-edge megasas

91: 0 0 0 0 0 0 59 0 0 0 0 0 0 0 0 0 0 0 0 0 0 88301573 0 0 IR-PCI-MSI-edge megasas

92: 0 0 0 0 0 0 112 0 0 0 0 0 0 0 0 0 0 0 0 0 16365218 0 0 0 IR-PCI-MSI-edge megasas

93: 0 0 0 0 0 0 28 0 0 0 0 0 0 0 0 0 0 0 0 10562312 0 0 0 0 IR-PCI-MSI-edge megasas

94: 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 42921162 0 0 0 0 0 IR-PCI-MSI-edge megasas

95: 0 0 0 0 0 0 1797 0 0 0 0 0 0 0 0 0 0 140435348 0 0 0 0 0 0 IR-PCI-MSI-edge megasas

96: 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 24671284 0 0 0 0 0 0 0 IR-PCI-MSI-edge megasas

97: 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 8526204 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge megasas

98: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2418468 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge megasas

99: 0 0 0 0 0 0 1 0 0 0 0 0 0 2378474 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge megasas

100: 0 0 0 0 0 0 0 0 0 0 0 0 4814339 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge megasas

101: 0 0 0 0 0 0 47 0 0 0 0 97387612 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge megasas

102: 0 0 0 0 0 0 75 0 0 0 12447492 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge megasas

103: 0 0 0 0 0 0 24 0 0 3561465 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge megasas

104: 0 0 0 0 0 0 10 0 1711739 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge megasas

#

Изменено пользователем aoz1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Перименуйте тему, что-ли: "SMP & Postgres"

 

Отмаза:

Сначала не смотрел, т.к. samba не использую.

Посоветовать ничего не могу - postgres не использую.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А может это проблема с доступам к памяти чужого процессора в NUMA-системе? :)

Покажите хоть конфигурацию, а то данных то и не дали никаких.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А может это проблема с доступам к памяти чужого процессора в NUMA-системе? :)

Покажите хоть конфигурацию, а то данных то и не дали никаких.

спарка E5-2620 на Supermicro X9DRi-F 32G мозгов а принципиально? Тут вопрос не в посгресе а в линуксе.

Посгрес запускает по одному форку на каждую tcp или socket сессию. Так же как апач или php-fcgi или 90% старотипных unix приложений. (уже кинологическая терминология пошла)

Вопрос. почему ядро не раскидывает эти форки симметрично по процессорам.

 

Сортировка по last used cpu:

 

# top -b -n1 | grep postgres | awk '{print $12}' | sort -n | uniq -c

109 0

36 1

22 2

8 3

4 4

1 5

8 6

16 7

42 8

9 9

2 11

86 12

10 13

7 14

1 15

2 16

2 18

10 19

6 20

2 21

 

Тут понятно к irq сетевой карты привязка:

# top -b -n1 | grep php-fpm | awk '{print $12}' | sort -n | uniq -c

45 0

48 1

35 2

45 3

38 4

53 5

50 6

41 7

1 8

5 12

4 13

1 18

1 20

Изменено пользователем aoz1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну ядро то древнее, ветка 2.6 вроде свежими фичами не блещет. Можно покрутить шедуллер, конечно, в сторону Completely Fair Scheduler (CFS), но... Зачем это? У вас нет нигде 100% нагрузки, зачем что-то изобретать если все нормально работает?

 

Так же как апач или php-fcgi или 90% старотипных unix приложений.

 

process vs thread это сложная тема, не стоит списывать это на "старотипность", это не имеет никакой связи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.