Конференция "Прочее" » Многопоточность в пхп, как лучше сэмулировать
 
  • Nous Mellon_ (30.06.08 11:51) [0]
    Доброе время суток, возник вопрос для спецов в php и администрировании. Есть скрипт -- делает всякие выборки из мускул базы и создает файлики. Я бы хотел его сильно распараллелить. Есть мощный ксеон хочу пустить этот скрипт в n потоков так как друг от друга они не зависят. Вопрос -- как лучше сэмулировать многопоточность в пхп? Просто запусков 10 процессов фоном или лучше с помощью сокетов. Важно, именно с позиции скорости, как будет быстрее) Мб разницы особой вообще нет?
  • McSimm © (30.06.08 11:55) [1]
    Что значит "с помощью сокетов" ?
    Скрипт из командной строки запускается или mod_php ?
  • Nous Mellon_ (30.06.08 12:03) [2]
    Ну во всех статьях в которых освещается проблема многопоточности в пхп, приводят в пример реализацию на неблокируемых сокетах. Я пытаюсь выяснить быстрее ли это чем просто n копий процесса пустить.
    Скрипт пускается по крону
  • wicked © (30.06.08 12:08) [3]
  • Nous Mellon_ (30.06.08 12:20) [4]
    2wicked, спасибо, если можно чуть подробнее о преимуществах перед 2мя указанными способами
  • McSimm © (30.06.08 12:23) [5]
    Просто запускать несколько экземпляров, зачем тут fork ? Лишние проблемы с отслеживанием детей и их количества.

    Сокеты это не реализация многопоточности, просто работа с сокетами (прием передача информации) может выполняться паралельно. Но к деланию всяких выборок и создаванию файликов в несколько потоков они отношения не имеют и помочь наверное не смогут.
  • Nous Mellon_ (30.06.08 12:34) [6]
    Спасибо, Максим. Я просто чего боюсь, пишут что при запуске параллельных процессов очень жестоко тратится память 15мб на каждый процесс, с другой стороны у меня и так там выборки некислые происходят, так что думаю выделенная память будет использована в любом случае...
  • McSimm © (30.06.08 12:40) [7]
    да, память тратится, если это действительно будет критично, то надо стоит посмотреть в сторону fork

    Но при этом надо учитывать, что память чаще всего тратится из-за не очень экономного ее расхода в скрипте и правильно написанный скрипт сэкономит на порядки больше чем система при fork`ах
    И второе - неправильно написанный механизм fork`ов может привести к большим проблемам, надо четко понимать его работу как с точки зрения ОС, так и особенности применительно к PHP
  • Nous Mellon_ (30.06.08 14:21) [8]
    ок, наверно стоит пооптимизировать скрипт и взять серв с 8гигами) Спасибо за помощь!
 
Конференция "Прочее" » Многопоточность в пхп, как лучше сэмулировать
Есть новые Нет новых   [134439   +39][b:0][p:0]