Форум: "Прочее";
Текущий архив: 2008.08.17;
Скачать: [xml.tar.bz2];
ВнизМногопоточность в пхп, как лучше сэмулировать Найти похожие ветки
← →
Nous Mellon_ (2008-06-30 11:51) [0]Доброе время суток, возник вопрос для спецов в php и администрировании. Есть скрипт -- делает всякие выборки из мускул базы и создает файлики. Я бы хотел его сильно распараллелить. Есть мощный ксеон хочу пустить этот скрипт в n потоков так как друг от друга они не зависят. Вопрос -- как лучше сэмулировать многопоточность в пхп? Просто запусков 10 процессов фоном или лучше с помощью сокетов. Важно, именно с позиции скорости, как будет быстрее) Мб разницы особой вообще нет?
← →
McSimm © (2008-06-30 11:55) [1]Что значит "с помощью сокетов" ?
Скрипт из командной строки запускается или mod_php ?
← →
Nous Mellon_ (2008-06-30 12:03) [2]Ну во всех статьях в которых освещается проблема многопоточности в пхп, приводят в пример реализацию на неблокируемых сокетах. Я пытаюсь выяснить быстрее ли это чем просто n копий процесса пустить.
Скрипт пускается по крону
← →
wicked © (2008-06-30 12:08) [3]через http://php.net/pcntl-fork
← →
Nous Mellon_ (2008-06-30 12:20) [4]2wicked, спасибо, если можно чуть подробнее о преимуществах перед 2мя указанными способами
← →
McSimm © (2008-06-30 12:23) [5]Просто запускать несколько экземпляров, зачем тут fork ? Лишние проблемы с отслеживанием детей и их количества.
Сокеты это не реализация многопоточности, просто работа с сокетами (прием передача информации) может выполняться паралельно. Но к деланию всяких выборок и создаванию файликов в несколько потоков они отношения не имеют и помочь наверное не смогут.
← →
Nous Mellon_ (2008-06-30 12:34) [6]Спасибо, Максим. Я просто чего боюсь, пишут что при запуске параллельных процессов очень жестоко тратится память 15мб на каждый процесс, с другой стороны у меня и так там выборки некислые происходят, так что думаю выделенная память будет использована в любом случае...
← →
McSimm © (2008-06-30 12:40) [7]да, память тратится, если это действительно будет критично, то надо стоит посмотреть в сторону fork
Но при этом надо учитывать, что память чаще всего тратится из-за не очень экономного ее расхода в скрипте и правильно написанный скрипт сэкономит на порядки больше чем система при fork`ах
И второе - неправильно написанный механизм fork`ов может привести к большим проблемам, надо четко понимать его работу как с точки зрения ОС, так и особенности применительно к PHP
← →
Nous Mellon_ (2008-06-30 14:21) [8]ок, наверно стоит пооптимизировать скрипт и взять серв с 8гигами) Спасибо за помощь!
← →
Мазут Береговой © (2008-06-30 18:26) [9]А не проще ли сделать вебсервис и запускать кажды запрос на него - IIS самостоятельно создаст отдельные потоки для каждого запроса?
← →
Ega23 © (2008-06-30 19:02) [10]GCI - FastCGI?
← →
Nous Mellon_ (2008-06-30 23:52) [11]варианты переписать их пхп слишкои трудоемки и пока не рассматриваются)
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2008.08.17;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.041 c