Слишком много conext switches в линуксе?

nail

Новичок
Слишком много conext switches в линуксе?

Есть набор php-скриптов, запускаемых из командной строки, ничего CPU-емкого в них самих нет - работа с http, mysql и sleep.
Количество одновременно работающих скриптов - около 20.

При запуске скриптов количество context switch в секунду повышается с почти нуля до 5000 (смотрю через vmstat).
Это нормальное число, или стоит это все перенести в multi-threading?
Есть какие-нибудь средства для PHP, чтобы запустить скрипты в одном процессе?
 

Alexandre

PHPПенсионер
Есть какие-нибудь средства для PHP, чтобы запустить скрипты в одном процессе?
а как ты себе это представляешь?

-~{}~ 26.03.08 18:58:

Это нормальное число, или стоит это все перенести в multi-threading?
думаешь это исправит ситуацию?
каждый скрипт - это отдельно запущенный процесс.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
nail
ооо! покажи multi-threading на PHP! давно хочууу!
 

fixxxer

К.О.
Партнер клуба
чисто теоретически можно сделать подобное sapi (грубо говоря threaded fastcgi), вот только гемора гораздо больше чем выгода :)

гораздо проще и правильнее не пускать все это дело параллельно, а сделать очередь из нескольких "воркеров".

20 процессов, кстати, это и не так много
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
не, я про то, чтобы писать многопоточность задач в самих скриптах - например, классно было бы многопоточно почту проверять :)
 

fixxxer

К.О.
Партнер клуба
на пекле валяется старая попытка такое сделать, можешь попробовать доработать ;)

хотя "многопоточно проверять почту" намного проще через socket_select ;)
 

dr-sm

Новичок
а в чем принципиальная разница при переходе к multi-threading, были context switches между процессами, стали между потоками.
 
Сверху