Какие PHP (код операции) кэшируются, нужно использовать и почему?

@Pax, но мы можем отключить пользователя root на Экс-ан-Провансе 6.1 согласно RBAC, существует специальный раздел по нему.

Как насчет я отключаю пользователя root, затем 'корневой' пользователь ведет себя как обычный пользователь, и затем я могу отключить его от доступа к использованию myfile.txt команды RBAC.

44
задан 26 August 2016 в 12:00
6 ответов

Продукты, которые Вы перечисляете, служат различным целям.

Кэши кода операции

Существует много Акселераторов PHP (OPCaches), как замечено в этом списке Википедии. Как распространено с продуктами с открытым исходным кодом, они все довольно подобны. XCache является lighttp PHP акселератор и является выбором по умолчанию при выполнении того HTTPD. Это работает хорошо с Apache также, однако APC, кажется, немного больше "игр хорошо с другими", социально говорящими, официально поддерживаясь как часть PHP, и является выпущенным подъемом с официальным распределением PHP.

Я отказался от usign eAccelerator из-за его разработки замедления и отставания против выпусков PHP, и чиновник благословил предложения состояния APC с подобной производительностью.

Этими продуктами обычно является понижение; никакое моментальное повышение производительности изменения кода. С большими кодовыми базами (Drupal, Wordpress) производительность может составить 3x лучше при понижении времени отклика и использования памяти.

Кэширование данных

Кэш-память является немного отличающимся продуктом - Вы могли бы думать о ней как о легкой системе значения ключа, которая может масштабироваться к нескольким серверам. Программное обеспечение должно быть улучшено для поддержки Кэш-памяти, и это решает определенные проблемы лучше, чем другие. Если бы у Вас был список значений запаса в реальном времени на Вашем веб-сайте, то Вы могли бы использовать Кэш-память для хранения резидентного списка текущего значения, которое отображено через веб-сайт. Вы могли бы использовать его, чтобы хранить данные сессии для краткосрочного повторного использования. Вы не использовали бы его для других вещей, таких как полностраничные кэши, или как замена для MySQL.

Существуют также дополнения Wordpress, такие как WP-Super-Cache, который может решительно улучшить производительность Wordpress (заразите, WP-Super-Cache может конкурировать со статическими основанными на HTML сайтами во многих случаях),

Таким образом - я настоятельно рекомендовал бы APC, если Вы хотите "набор он и забываете это, хорошо поддерживаемый продукт".

33
ответ дан 28 November 2019 в 19:41
  • 1
    Этот ответ обсуждается на Meta: meta.stackexchange.com/questions/15474/… –  Brad Gilbert 19 August 2009 в 19:19
  • 2
    Заполните " [4]: http:// " зафиксировать его. –  Brad Gilbert 19 August 2009 в 19:26
  • 3
    Благодарит тонну SirStan! Ваш ответ не только решил мою проблему, но также и помог мне получить больше понимания кэширования мира. Я просто хочу спросить Вас еще одна вещь. Я уже использую wp-суперкэш. Это - хорошая идея объединить его с APC? APC далее значительно улучшит производительность? Будет APC и Wp-суперкэш будут сотрудничать? Мне нужны они оба? Или APC сократит Wp-суперкэш? –  rahul286 21 August 2009 в 08:33
  • 4
    Примечание: APC делает оба данные, кэширующиеся & кэширование кода операции. –  lo_fye 24 August 2009 в 17:14

Хороший ответ был отправлен на stackoverflow, который отвечает на Ваш вопрос приятно.

https://stackoverflow.com/questions/28716/which-php-opcode-cacher-should-i-use-to-improve-performance

8
ответ дан 28 November 2019 в 19:41
  • 1
    Его действительно хорошее обсуждение, продолжающееся stackoverflow. Спасибо за ссылку.:-) –  rahul286 21 August 2009 в 08:25

APC будет встроен в PHP6, таким образом, это будет логический выбор. Я использую его, и повышение производительности удивительно. Если необходимо кэшировать что-то другое, чем коды операций (т.е. результаты запроса дб), можно использовать APC для тот также, но не возможно совместно использовать кэши APC между несколькими серверами. Если только необходимо кэшироваться на единственном сервере, APC является большим. Если необходимо масштабировать горизонтально к нескольким серверам и хотеть совместно использовать кэш между ними, memcached является человеком.

Одна вещь, которую я сделал бы, тем не менее, создают класс обертки для любого (некод операции), кэширующий Вас, делают. Тем путем можно выгрузить кэширующийся механизм, не изменяя код.

6
ответ дан 28 November 2019 в 19:41
  • 1
    WOW. Я знал APC' s официальное состояние, я переключил бы на него длительный срок назад... :-) Я также не знал много о opcode/non-opcode различии в кэше. Как личный выбор, я не хочу проходить наверху создания классов обертки или изменения источника моих приложений, чтобы помочь им адаптироваться с кэшированием ENV. –  rahul286 21 August 2009 в 08:30

Пары ключ/значение кэшей кэш-памяти, не коды операций. Можно использовать его соединение с одним из кэшей кода операции.

0
ответ дан 28 November 2019 в 19:41
  • 1
    Это кажется от SirStan' s ответ (ниже) той кэш-памяти, возможно, нуждается во мне для изменения моих приложений PHP. На самом деле я использую Wordpress и изменяю его базовый код won' t быть хорошей идеей. –  rahul286 21 August 2009 в 08:27

Просто отметим, что все немного изменилось, и кажется, что APC не будет включен в ядро ​​PHP 6.

APC медленно развивается, и похоже, что он никогда не будет PHP 5.5 совместим. Из-за этого похоже, что ребята из PHP будут устанавливать расширение кэша опкодов Zend OPCache как расширение PHP CORE. Вам не все равно, подробнее читайте здесь http://wiki.php.net/rfc/optimizerplus .

Важное примечание: Zend OPCache не имеет кеша пользовательских данных, как APC, поэтому, если вам нужен кеш пользовательских данных, вы можете Вы можете использовать его вместе с Memcache.

6
ответ дан 28 November 2019 в 19:41

Если используется версия PHP не ниже 5.50 , OpCache - ваш лучший выбор (собственная библиотека PHP / PECL). Он должен быть предварительно скомпилирован при установке из двоичного кода.

http://php.net/manual/en/book.opcache.php

Если используется версия PHP до 5.5, APC (собственный кеш OpCode PHP / PECL ) было бы самым простым выбором, хотя он считается не обслуживаемым и мертвым:

http://php.net/manual/en/book.apc.php

Использование встроенных функций OpCache PHP должно избавить вас от проблем поддержка сторонних библиотек.

3
ответ дан 28 November 2019 в 19:41

Теги

Похожие вопросы