Пареллальная обработка в PHP

Я написал один сценарий высокой производительности в php. Который занимает 30 мс времени.

Теперь я сделал этот скрипт более герметичным, поэтому я сделал rnd по следующим пунктам. То, что я ищу, - это параллельная обработка на фрагменте кода, чтобы минимизировать время от 30 мс до 15 мс и больше распределений, чтобы скрипт мог обслуживать больше запросов.

  1. Gearman

я сделал кое-что на gearman, используя его асинхронный обработчик задач, я могу достичь параллельной задачи в коде php.

  1. C++

Второй вариант - конвертировать весь php-скрипт в расширение C++, что помогает улучшить скрипт, а в C++ я также могу использовать потоки.

все это я планирую, поэтому мне нужна помощь, они другие способы масштабирования сценария?

может с ++ помогает в параллельной обработке?

2 ответа

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

Да, вы можете легко конвертировать ваши алгоритмы PHP в код C++, я делаю это постоянно с частями нашего программного обеспечения, которые слишком медленны в PHP. На самом деле я создал библиотеку, которая может быть полезной, и это делает это преобразование очень простым: см. http://www.php-cpp.com/.

Преобразование из PHP в C++ уже дает большой прирост производительности. Переход от 30 мс до 15 мс не является чем-то необычным, просто конвертируя алгоритм из PHP в нативный C++. Если этого недостаточно, вы можете запустить несколько потоков. Я не могу посоветовать вам, как это сделать, потому что мне нужно знать ваши алгоритмы, чтобы увидеть, подходят ли они для разделения на потоки. Но стандартная библиотека C++11 теперь поставляется с классом потока, что делает это простым.

Другие вопросы по тегам