|
Еще раз вопросы про CPU Affinity
|
|||
---|---|---|---|
#18+
Привет. Недавно был срачик с участием какого-то новичка и КДВ, затрагивающий тему CPU Affinity . Попытался сегодня его перечитать, но не нашел. Возможно его подтерли. У меня появились виндовые сервера на которых можно пытаться что-то распараллелить, заодно решил почитать и по CPU Affinity . Я считал что CPU Affinity это битовая маска позволяющая указать на каком из нескольких ядер работать Firebrid (2.5) И что необходимость что-то указывать растет из того что, без конкретного указания ядра, винда начинает бессмысленно перебрасывать FB с одного ядра на другое, на что тратятся ресурсы без всякой пользы. Кроме того, я считал что FB будет работать на указанном ядре целиком, сколько бы баз он не обслуживал. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Прочитав конфиг видно что там допускается использовать более одного ядра. А как при этом обстоит дело с переброской процесса с ядра на ядро? Так же вычитал где-то, что ограничение FB2.5 SS на работу на 1 ядре - это на каждую базу по ядру. А если у меня баз на сервере несколько, то задействуются несколько ядер? А если баз больше чем ядер, как они будут объединяться, на какие ядра? Можно ли управлять какая база на какое ядро сядет? http://www.ibase.ru/45-ways-to-improve-firebird-performance-russian/ 13. Установите правильный CPU Affinity Если вы используете SuperServer 2.5, установите параметр CPUAffinity в значение, равное количеству разных используемых баз данных: SuperServer 2.5 может использовать разные ядра для обработки запросов к разным БД (например, 3 БД – 3 ядра, и т.д.). Тут не упомянуто что CPUAffinity это не integer а битовая маска, из-за чего значение 3 воспринимается как 3 ядра, хотя на самом деле это 2 ядра? В том самом срачике что я не смог найти, кажется Сибиряков писал что использовать CPUAffinity=3 это значит ликвидировать смысл этого параметра, т.к. он нужен для привязки к конкретному ядру, и указывать более одного значит не указать на каком конкретно. Однако, в свете вышесказанного, в т.ч. и конфига FB, использовать одновременно несколько ядер - это нормально. Где истина? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2020, 09:28 |
|
Еще раз вопросы про CPU Affinity
|
|||
---|---|---|---|
#18+
fraks Я считал что CPU Affinity это битовая маска позволяющая указать на каком из нескольких ядер работать Firebrid (2.5) И что необходимость что-то указывать растет из того что, без конкретного указания ядра, винда начинает бессмысленно перебрасывать FB с одного ядра на другое, на что тратятся ресурсы без всякой пользы. Никто же не удивляется, что процессы CS не привязаны к одному ядру, но в сумме работают на всех ядрах без проблем. И, да, affinity - это маска. fraks Кроме того, я считал что FB будет работать на указанном ядре целиком, сколько бы баз он не обслуживал. fraks А как при этом обстоит дело с переброской процесса с ядра на ядро? fraks Так же вычитал где-то, что ограничение FB2.5 SS на работу на 1 ядре - это на каждую базу по ядру. А если у меня баз на сервере несколько, то задействуются несколько ядер? Если БД две - таких потоков может быть два и т.д. Соответственно, эти активные потоки могут работать на том кол-ве ядер, которое разрешено affinity. Есс-но, два потока не могут занять 3 ядра :) До 2.5 в SS мог быть только один активный поток независимо от кол-ва БД. fraks А если баз больше чем ядер, как они будут объединяться, на какие ядра? fraks Можно ли управлять какая база на какое ядро сядет? fraks Тут не упомянуто что CPUAffinity это не integer а битовая маска, из-за чего значение 3 воспринимается как 3 ядра, хотя на самом деле это 2 ядра? В firebird.conf это описано. fraks Где истина? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2020, 10:40 |
|
|
start [/forum/topic.php?fid=40&fpage=14&tid=1560360]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
85ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
2ms |
others: | 299ms |
total: | 467ms |
0 / 0 |