акселератор php

акселератор php

от Татьяна Никитина -
Количество ответов: 14
Какой из акселераторов PHP лучше всего выбрать. сейчас у меня eAccelerator
В ответ на Татьяна Никитина

Re: акселератор php

от Ильфат Исмагилов -
В ответ на Ильфат Исмагилов

Re: акселератор php

от Aliaksandr Shvayakou -
Они все работают почти одинаково. Существенных преимуществ нет.
http://2bits.com/articles/benchmarking-drupal-with-php-op-code-caches-apc-eaccelerator-and-xcache-compared.html
Вероятно чаще используется apc, но я в этом совсем не уверен, достоверных сведений нет.

В ответ на Aliaksandr Shvayakou

Re: акселератор php

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle
Что-то с apc у меня не сложилось.
Я использую nginx + php-cgi.
После некоторых экспериментов остановился на eaccelerator
Если верить JMeter-у то производительность возросла примерно в 3 раза с 60 req/min до 180 req/min

Этому уроду (moodle) никакие акселераторы не помогут!
Только написание заново и лучше без php или хотя бы грамотными разработчиками.

В ответ на Татьяна Никитина

Re: акселератор php

от Vitaliy Puterov -
Есть ли акселераторы для Windows-систем?
В ответ на Vitaliy Puterov

Re: акселератор php

от Vadim Tabunshchik -
Изображение пользователя Developers
А google что, отменили уже? улыбаюсь
Это тот же самый eAccelerator, только под Винду
Вот тут есть описание установки: http://www.hostcms.ru/documentation/server/eAccelerator

Думается, как ни "ускоряй" Винду, под Веб-сервер надо использовать *nix…
В ответ на Vadim Tabunshchik

Re: акселератор php

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle
Ускорять moodle почти бесполезно. Ошибки в ДНК ничем не исправить.
В ответ на Виталий Лавров

Re: акселератор php

от Artem Andreev -
Изображение пользователя Эксперт по Moodle
Очень голословное утверждение.
О его ошибочности также могут свидетельствовать следующие списки: http://docs.moodle.org/en/Installations_10000_plus и http://docs.moodle.org/en/Installations_30000_plus
В ответ на Artem Andreev

Re: акселератор php

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle
Число курсов/студентов/... это неинтересно.

Интересно описание железа, число запросов среднее и пиковое, объем трафика.

То, что я вижу у себя, радости не вызывает.

Сам проект давно вышел за рамки набора простеньких скриптов, а нормального сервера приложений php (который смог бы реально поднять производительность) до сих пор нет.

Да, акселератор помог, но все равно очень медленно.

Jmeter - очень интересный инструмент.

Очень плохо продумана работа с темами/css/js . Практически все они статические, но каждый раз генерируются.

Каждый .php включает в себя config.php который тянет за собой кучу библиотек и подключение к базе данных, а реально нужны были из конфигурации пара переменных.
В ответ на Виталий Лавров

Re: акселератор php

от Artem Andreev -
Изображение пользователя Эксперт по Moodle
Ваши исходные данные тоже как-то не прослеживаются в Ваших сообщениях.
Что-то где-то неизвестно насколько Вам не нравится: а в чем смысл сиих изречений?
Вы хотите чтобы Вам хотя бы попытались помочь? Нормально опишите ситуацию. И лучше не только на Russian Moodle, но и в Using.
У Вас есть идеи по улучшению проекта - Вам точно в Using. А если вдруг и реально можете помочь патчами - Вам еще и в tracker...

P.S. Кстати число запросов тоже ничего сильно не покажет. В Moodle есть разные компоненты, которые по-разному грузят сервер. А число активных пользователей отчасти показательно. Примеры пореальнее с описанием железа, нагрузки и т.п. встречаются в Using Moodle ▶ Hardware and Performance
В ответ на Artem Andreev

Re: акселератор php

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle
У нас оно пока в тестовом варианте.

Железо: 2x XEON 3GHz/6GB RAM / IBM ServerRAID6i OS Linux. nginx/php-cgi/postgres

Не нравится следующее - медленно отдается страницы .php при высокой зарузке процессора.

Чтение документации частично повысило производительность, но анализ отдаваемых страниц показал, что есть смысл заниматься оптимизацией (в частности темы и куча статических скриптов).

Еще складывается ощущение, что большенству наплевать на производительность ,
главное чтоб работало без глюков .

Hardware and Performance радует конфигурациями с 8-ми ядерными системами улыбаюсь
Просмотр кода наводит на размышления почему moodle не перевели на какой-нибудь framework ?

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


В ответ на Виталий Лавров

Re: акселератор php

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода
Что-то вы переключились с вопроса обсуждения акселераторов на обсуждение недочётов moodle.

>Еще складывается ощущение, что большенству наплевать на производительность,
главное чтоб работало без глюков.

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

Так вот, в проекте moodle 2.0 десять профессиональных программистов за деньги занимаются тем, что оптимизируют moodle. Они уже оптимизировали две самых тяжелых подсистемы moodle, относящихся к производительности: файловую и базу данных.

Вообще-то Вам стоит уточнить, действительно ли тормоза возникают из-за php, или может быть дело как раз в том, что база данных не успевает давать ответ быстро или файловая система тормозит.

Проблема тормозов кучи скриптов и тем легко решается переходом на AJAX. В moodle на нём уже сделано несколько элементов, но существенных пока нет.

И не совсем понятно, про какие framework-и Вы говорите.
В ответ на Vadim Dvorovenko

Re: акселератор php

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle
файловая система уже не тормозит - она вся в кеше улыбаюсь

У меня проблема оказалась в php - не хотел есть все имеющиеся ресурсы CPU из-за странных блокировок в сессиях.

Все подпорки/кастыли ввиде memcached и т.п. можно было бы выбросить если перейти на framework типа "zend framework" или сделать собственный php-сервер для запуска php-модуле/апплетов. Жаль, что сейчас это уже поздно делать.
В ответ на Виталий Лавров

Re: акселератор php

от Artem Andreev -
Изображение пользователя Эксперт по Moodle
Медленно - это сколько? Секунда, 5, 10? В каких условиях это происходит? При условии, что вариант тестовый, звучит вообще очень странно.

И большинству не наплевать на производительность: на это постоянно работают и не только в 2.0 (http://docs.moodle.org/en/Moodle_1.9_release_notes#Headline_features - 4 пункт).

Вообще очень много неизвестных, в частности: Вы на какие нагрузки вообще ориентируетесь? Возможно Вы неправильно выбрали инструмент под свои задачи?
Абстрактный пример: желание устроить репетицию ЕГЭ до 10000 конкуретных тестируемых. При этом нужно, чтобы система только оценку ставила и все. Не важны всякие фишки, типа просмотра потом своей попытки, отображения, что учащийся выбрал, где ошибся, возможно комментариев к ошибкам и т.п. Moodle тут будет не самым оптимальным вариантом, т.к. широкие возможности подсистемы тестирования неизбежно несут более сложную архитектуру и более высокие нагрузки на БД.
В ответ на Artem Andreev

Re: акселератор php

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle
Медленно - это 6 запросов в секунду после установки акселератора. Нагрузка на процессор упала, но добавление конкурирующих запросов не повышало загрузку процессора и естественно не повышала производительность.

Убил почти целый день, но нашел причину: странные паузы при выполнении
fcntl( F_SETFD,FD_CLOEXEC) Время выполнения до 0.16-0.45 с !
Этот вызов применялся для файла семафора в сессиях (нафига?).

Из чего был сделан вывод - session.save_handler = "files" использовать нельзя.

Замена его на eaccelerator дала еще более худший результат - имеем
2500-5000 select(0, NULL, NULL, NULL, {0, 100}) = 0 (Timeout) каждый по 0.17 мкс = 0.4-0.8 с
Идут неприрывным куском во всех запросах кроме первого запуска.
Где-то активно используют usleep()

ession.save_handler = "eaccelerator" идет в сад улыбаюсь

только при session.save_handler = "mm" получаем полную загрузку процессора и увеличение производительности.

Тестовый сценарий такой: обращение на стартовую страницу, выбор курса, запрос на 1,2,3,4 страницы теста

Запускаем 30 копий сессии паралельно каждую 2 раза.

результат 16/28 запросов/сек, время загрузки каждой страницы не более 1.8с
16 - это когда грузятся все объекты - 28 когда загружается только первая страница

IMHO - приемлемый результат.