Как зайти в Даркнет?!
25th January, 01:11
6
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
895
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
914
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4351
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4396
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Какой кэшер PHP opcode следует использовать для повышения производительности?
Я пытаюсь улучшить производительность при высокой нагрузке и хотел бы реализовать кэширование кода операции. Какой из следующих вариантов следует использовать?
Я также открыт для любых других альтернатив, которые ускользнули от моего радара.
В настоящее время работает на складе Debian Etch с Apache 2 и PHP 5.2
[Обновление 1]
HowtoForge добавлены установочные ссылки
[Обновление 2]
Основываясь на полученных ответах и отзывах, я протестировал все 3 реализации, используя следующий план тестирования Apache JMeter в своем приложении:
- Авторизоваться
- Доступ К Домашней Странице
При наличии 50 одновременных подключений результаты выглядят следующим образом:
Нет Кэширования Кода Операции
APC
eAccelerator
XCache
График производительности (чем меньше, тем лучше)
Из приведенных выше результатов следует, что eAccelerator имеет небольшое преимущество в производительности по сравнению с APC и XCache. Однако самое важное из приведенных выше данных заключается в том, что любой вид кэширования кода операции дает огромную производительность boost.
Я решил использовать APC по следующим двум причинам:
- Пакет доступен в официальном репозитории Debian
- Более функциональная панель управления
Чтобы подвести итог моему опыту:
Простота установки: APC > eAccelerator > XCache
Производительность: eAccelerator > APC, XCache
Панель Управления: APC > XCache > eAccelerator
Я думаю, что ответ может зависеть от типа веб-приложений, которые вы запускаете. Я сам должен был принять это решение два года назад и никак не мог выбрать между Zend Optimizer и eAccelerator.
Чтобы принять решение, я использовал ab (apache bench) для тестирования сервера, а также протестировал три комбинации (zend, eaccelerator, оба запущены) и доказал, что eAccelerator сам по себе дает наибольшую производительность.
Если у вас есть роскошь времени, я бы порекомендовал сделать подобные тесты самостоятельно и принять решение на основе ваших результатов.
Я использую APC, потому что его было легко установить в windows, и я разрабатываю на WAMP.
Интеграция APC в PHP6 обсуждалась здесь: http://www.php.net/~derick/meeting-notes.html#add-an-opcode-cache-to-the-distribution-apc
И здесь есть указания по установке APC на Debian Etch: http://www.howtoforge.com/apc-php5-apache2-debian-etch
Я запустил несколько тестов с eAcclerator, APC , XCache и Zend Optimizer (хотя Zend-это оптимизатор, а не кэш).
Результаты Тестов http://blogs.interdose.com/dominik/wp-content/uploads/2008/04/opcode_wordpress.png
Результат: eAccelerator-самый быстрый (во всех тестах), за ним следуют XCache и APC. (Один из них на диаграмме - это количество секунд, чтобы вызвать домашнюю страницу WordPress 10 000 раз).
Zend Optimizer сделал все медленнее (!).
Я не могу сказать вам наверняка, но место, где я сейчас работаю, смотрит на APC и eAccelerator. Однако это может повлиять на вас - APC будет интегрирован в будущий выпуск PHP (спасибо Эду Хаберу за ссылку).
Я использую XCache уже больше года без каких-либо проблем.
Я попытался переключиться на eAccelerator, но в итоге получил кучу ошибок сегментации (это менее прощает ошибки). Главное преимущество eAccelerator заключается в том, что это не просто кэш опкодов, но и оптимизатор.
Вы должны полностью протестировать свое приложение с каждым из них, чтобы убедиться, что нет никаких проблем, а затем я бы использовал apachebench для тестирования его под нагрузкой.
Эти дополнения исторически ввели много странных ошибок, чтобы выследить их. Эти ошибки могут привести к непоследовательному поведению, которое не может быть легко диагностировано, потому что это зависит от состояния кэша.
Так я бы сказал:
- Не используйте ничего из вышеперечисленного. Вместо этого покупайте больше олова, это более надежный (т. е. безошибочный) способ повышения производительности. OR
- Переходите к тому, что из вышеперечисленного является наиболее надежным, Протестировав брюки от вашего приложения.
Но я бы сказал:
- Убедитесь, что это действительно разбор кода PHP, который вызывает проблемы с производительностью, профилируя ваше приложение. Я думаю, что очень вероятно, что это не так - и в этом случае вы будете тратить свое время (на самом деле, используя свое время негативно продуктивно), устанавливая любой из них.