является ли Magento потокобезопасным?

Кто-нибудь использует Magento с рабочим MPM Apache?

Я читал противоречивые отчеты о стабильности и безопасности с использованием worker вместо prefork, но также читал, что worker намного быстрее, чем prefork.


person dbcn    schedule 26.05.2011    source источник


Ответы (1)


PHP5 является потокобезопасным, но не все расширения PHP являются потокобезопасными. Поэтому считается вредным запускать PHP-приложение на worker-mpm. И Magento — это PHP-приложение, как и любое другое, есть вероятность, что вы где-то используете некоторые расширения PHP (GD, Xml и т. д.) и что вы не можете проверить его на стабильность потока (действительно сложно протестировать).

Но что вы можете сделать, так это использовать apache в качестве рабочего (на самом деле обрабатывается гораздо больше HTTP-запросов, что очень полезно для всех статических файлов) и вытолкнуть PHP из Apache (поэтому без mod_php).

Для этого вам придется использовать PHP с fcgid или php-fpm, то есть современной версией cgi, если говорить в нескольких словах.

person regilero    schedule 26.05.2011
comment
Спасибо, очень полезно. Итак, Apache запускает быстрый cgi, который затем запускает php? Как это меняет безопасность потоков? - person dbcn; 26.05.2011
comment
@dbcn: хорошо, с процессом fcgid вы не будете в многопоточном режиме, php-fpm создаст несколько процессов PHP, и каждый процесс будет обслуживать несколько запросов перед смертью, но только по одному за раз, там нет потоков, насколько я знаю, поэтому нет потока -проблемы безопасности. Так что на самом деле это не ответ о потокобезопасности Magento, но проверка потокобезопасности magento и всего кода, используемого в пользовательском magento, является гораздо более сложной проблемой :-) - person regilero; 26.05.2011