Jump to content
Калькуляторы

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

#

Edited by aoz1

Share this post


Link to post
Share on other sites

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

 

Отмаза:

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

А может это проблема с доступам к памяти чужого процессора в 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

Edited by aoz1

Share this post


Link to post
Share on other sites

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

 

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

 

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

Share this post


Link to post
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.