1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Ускоряем XenForo: включаем кэширование

Тема в разделе "Советы, руководства и видео-уроки", создана пользователем FractalizeR, 12.10.2010.

Загрузка
  1. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    Несколько вариантов:
    1. давать ну оооочень много памяти под хкеш , обязательно обновив на 2.х версию (гига полтора если не больше)
    2. выделить отдельный пхп-пул со своими настройками пхп для ксеновских проектов.

    Кстати использовать какой либо акселератор сейчас считается уже практикой де факто, если он не используется то у вас все проекты работают раза в 2 медленнее чем могли бы (а некоторые скрипты раз 5 точно )

    У хкеша нет настроек для исключения каких-то файлов. Или все кешируем или ничего. Только выделять отдельный пул (для этого ну очень удобно использовать php-fpm)
     
    Mike нравится это.
  2. Union

    Union Местный

    Регистрация:
    12.10.11
    Сообщения:
    306
    Симпатии:
    86
    Версия XF:
    1.1.2
    а как redis к xenforo подключить? нашел только тему с реквестом http://xenforo.com/community/threads/implement-new-caching-redis.31364/
     
  3. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    А зачем если не секрет? По скорости выигрыша никакого не будет по сравнению с xcache или APC. Выбор редиса или мемкеша нужен только если необходимо получать доступ к кешу ксена из других языков программирования (или к примеру если идет балансировка нагрузки между серверами)
    Чтобы быстро все работало с редисом обязательно ставить бинарный пхп-модуль для поддержки редиса, если использовать чисто пхп реализацию - скорость даже ниже чем для мемкеша.
    К тому же редис можно использовать только для вар-кеша (кеша переменных), он никак не закеширует опкод.

    По поводу как ставить - нашел на гитхабе какой-то зенд класс кеша для работы с редисом и просто указал его в конфиге, по аналогии с хкешем (ксен ведь использует стандартные зендовские классы для кеша). Точный код не могу дать, т.к. было это давно и я снес редис за ненадобностью (для нормальной работы xcache хватает с головой).

    Но если всетаки будете ставить редис - обязательно ставьте 32 битную версию (расход памяти будет раза в полтора-два меньше). Если ставите из репозиториев, то просто подключите аналогичный 32-битный реп и поставьте только редис (для редхат подобных систем рассказал бы в примерах, но для других врядли)
     
  4. Union

    Union Местный

    Регистрация:
    12.10.11
    Сообщения:
    306
    Симпатии:
    86
    Версия XF:
    1.1.2
    Что поразительно, при использовании на другом проекте(torrentpier ii), выигрыш по сравнению с xcache есть, где-то 20%, и раз уж стоит редис, решил и в хенфоро впихнуть:D
     
  5. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    однозначно проблема настройки xcache и его использования (тупо могут быть разные алгоритмы сериализации да и вообще по разному с кешем работать через разные бекэнды). При правильной настройке и при правильном использовании xcache однозначно быстрее редиса. Хотя в реальных проектах эта разница почти не заметна, т.к. реальные проекты почти не юзают кеш по нормальному.
     
  6. maus

    maus Местный

    Регистрация:
    27.03.12
    Сообщения:
    187
    Симпатии:
    129
    Кстати об алгоритмах сериализации. Yoskaldyr, вы всё о производительности печётесь... альтернативные сериализаторы не испытывали на предмет выйгрыша? igbinary или json?
     
  7. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    json, не все так просто, т.е. сериализация не полная, зато на всех остальных языках все хорошо (не все php структуры перекладываются на js).
    igbinary - все хорошо и быстро, но во первых не каждый скрипт будет работать с ней (та же булка точно не будет, т.к. внутри есть проверки на классическую сериализацию), а во вторых, не для всех языков биндинги стабильные есть.

    Сериализация - тяжелая вещь, но в реальных проектах, это самое последнее что надо оптимизировать (за редким исключением)
     
    maus нравится это.
  8. 1981

    1981 Местный

    Регистрация:
    15.10.11
    Сообщения:
    273
    Симпатии:
    19
    Версия XF:
    1.1.4
    На одном хостинге прочитал:
    для ксена подходит PHPexpress?
     
  9. Union

    Union Местный

    Регистрация:
    12.10.11
    Сообщения:
    306
    Симпатии:
    86
    Версия XF:
    1.1.2
    из коробки точно нет
     
  10. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    если речь идет об опкод кеше, то конечно подойдет. Если речь идет о кеше переменных, то на шаред хостинге его в принципе нельзя использовать, хотя бы с точки зрения безопасности.
     
  11. maus

    maus Местный

    Регистрация:
    27.03.12
    Сообщения:
    187
    Симпатии:
    129
    Не факт. Я вот на Питерхосте сидел - там был PHP как модуль Апача, и кэш APC, причем общий на всех (судя по паре гигабайт файлового кэша), но вот кэш переменных с моей стороны был девственно чист. Значит, есть способы. Вариант "все остальные тупые/умные и кэш не использовали" отметаю сразу - там несколько сотен соседей на сервере было.
     
  12. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    Не спорю может и есть какие средства, но это не официальные (раньше у APC точно не было разделения на различных пользователей).

    И я как раз могу поверить в то что на шаред хостинге никто не использовал варкеш, т.к. владелец микросайта вообще не в курсе насчет варкеша (обычно именно такие хостятся на шаред хостингах), а разбирающийся админ никогда и не подумает что варкеш будет включен на шареде. Помню была волна взломов сайтов на шаред питерхосте по вине хостера, поэтому включенный варкеш может быть просто кривой настройкой физического сервере, чем какой-то специфической фичей
     
    maus нравится это.
  13. GAM

    GAM Местный

    Регистрация:
    28.04.11
    Сообщения:
    326
    Симпатии:
    159
    Версия XF:
    1.1.3
    Все делаю по гайду но вот проблема, при заходе на форум пишет вот что! An unexpected error occurred. Please try again later.
    далее в логе ошибок вот что пишет:

     
  14. Pepelac

    Pepelac Продам луц в бутылках

    Регистрация:
    28.09.10
    Сообщения:
    1 794
    Симпатии:
    1 361
    Проверьте права на папку, куда кэш складываться должен
     
    GAM нравится это.
  15. GAM

    GAM Местный

    Регистрация:
    28.04.11
    Сообщения:
    326
    Симпатии:
    159
    Версия XF:
    1.1.3
    большое спасибо, проблема была в неправильном пути =) вот что в итоге получилось =)
    Время: 0,0800 сек. Память: 9,183 МБ Запросов к БД: 10 :)
     
  16. Kn1ght

    Kn1ght Местный

    Регистрация:
    16.02.11
    Сообщения:
    180
    Симпатии:
    47
    Версия XF:
    1.2.4
    Это на апаче?
     
  17. Union

    Union Местный

    Регистрация:
    12.10.11
    Сообщения:
    306
    Симпатии:
    86
    Версия XF:
    1.1.2
    что-то подозрения возникли что у меня php-fpm не настроен как надо, кому не жалко выложите настройки пула своего;)
     
  18. Kn1ght

    Kn1ght Местный

    Регистрация:
    16.02.11
    Сообщения:
    180
    Симпатии:
    47
    Версия XF:
    1.2.4
    что конкретно вызвало такое подозрение?
     
  19. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    настройки пула врядли, вот настройки расширений пхп (очень важны настройки опкод кеша, вар кеш не так критичен) + настройки базы + настройки системы вероятнее.

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

    У меня на 2-х ядерном Intel G850 среднее время генерации 0.02-0.1 сек (в зависимости от страницы) при среднем суммарном одновременном онлайне - 200-300 чел (сайтов просто много).
     
  20. GAM

    GAM Местный

    Регистрация:
    28.04.11
    Сообщения:
    326
    Симпатии:
    159
    Версия XF:
    1.1.3
    Нет Nginx
     

Поделиться этой страницей