За последние 24 часа нас посетили 24325 программистов и 1562 робота. Сейчас ищут 1184 программиста ...

Производительность виртуальной машины PHP от процессора

Тема в разделе "Прочие вопросы по PHP", создана пользователем XCoder, 28 ноя 2011.

  1. XCoder

    XCoder Активный пользователь

    С нами с:
    28 ноя 2011
    Сообщения:
    48
    Симпатии:
    0
    Рад всех приветствовать! И сразу перейдем к сути вопроса:

    Насколько я мог заметить выполнение вычислительной части кода (прогоны массивов, циклы и т.д.) линейно зависят от частоты ЦПУ в рамках даже совершенно разных поколений (от Dual Core до Sandy Bridge).

    Т.к. зэнд двигло PHP не умеет параллелить исполнение, то возникает вопрос баланса между удельной производительностью и многоядерностью.

    Кто-нить проводил подобные исследования? (загуглил - мало полезной инфы)

    В частности интересны хоть какие-то сведения по поводу нагрузки различных конфигураций веб-серверов, например:
    1) один главный процесс и 4-воркера, которые принимают запросы и скидывают на бэкэнд.
    2) один главный и два воркера на вдвое более быстрых ядрах ЦПУ, чем в первом тесте.
    и ряд других конфигов.

    Еще интересны зависимости от объема кэша ЦПУ на реальных задачах.

    Если есть возможность доступа к оборудованию (даже коллективно, у кого что есть), могли бы написать неск юнитов и протестировать, собрав необходимые сведения. Кому интересно - жду комментов.

    С уважением,
    XCoder
     
  2. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    1 исполнение php-скрипта = 1 процесс. ОС вешает процесс на наиболее свободное ядро/процессор, таким образом на веб-сервере, где одновременно выполняются много php-скриптов, нагрузка распределена примерно равномерно посредством ОС.
    Если у вас не веб-сервер, а какие-нибудь демоны на php, их можно параллелить средствами PNCTL.