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

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

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

Загрузка
  1. 1981

    1981 Местный

    Регистрация:
    15.10.11
    Сообщения:
    273
    Симпатии:
    19
    Версия XF:
    1.1.4
    Код:
    [PHP Modules]
    bcmath
    bz2
    calendar
    Core
    ctype
    date
    dba
    dom
    ereg
    exif
    fileinfo
    filter
    ftp
    gd
    geoip
    gettext
    hash
    iconv
    json
    libxml
    mbstring
    mcrypt
    memcache
    memcached
    mhash
    mysql
    mysqli
    openssl
    pcntl
    pcre
    PDO
    pdo_mysql
    Phar
    posix
    Reflection
    session
    shmop
    SimpleXML
    soap
    sockets
    SPL
    standard
    sysvmsg
    sysvsem
    sysvshm
    tokenizer
    wddx
    xml
    xmlreader
    xmlwriter
    zip
    zlib
     
    [Zend Modules]
    Это?
     
  2. Alex Gludo

    Alex Gludo Bazinga!

    Регистрация:
    24.01.11
    Сообщения:
    484
    Симпатии:
    293
    Да, совершенно верно. Как видно из вывода этой команды, php5-memcached подключен. Вывод, как я говорил в предыдущем сообщении, memcached не установлен/не запущен/не верно настроен.

    Дайте вывод команды
    Код:
    netstat -tap | grep memcached
    и какая ОС?
     
    1981 нравится это.
  3. 1981

    1981 Местный

    Регистрация:
    15.10.11
    Сообщения:
    273
    Симпатии:
    19
    Версия XF:
    1.1.4
    Дебиан, сейчас дам.
     
  4. Alex Gludo

    Alex Gludo Bazinga!

    Регистрация:
    24.01.11
    Сообщения:
    484
    Симпатии:
    293
    aptitude install memcached
    затем
    /etc/init.d/apache2 restart
     
    1981 нравится это.
  5. 1981

    1981 Местный

    Регистрация:
    15.10.11
    Сообщения:
    273
    Симпатии:
    19
    Версия XF:
    1.1.4
    Спасибо! перезапустил апач и заработало! а по какой еще командн можно посмотреть как оптимально настроено кэширование?
     
  6. Alex Gludo

    Alex Gludo Bazinga!

    Регистрация:
    24.01.11
    Сообщения:
    484
    Симпатии:
    293
    Не совсем понял ваш вопрос. По настройка кеша для XF в этой теме как раз все есть.
     
    1981 нравится это.
  7. 1981

    1981 Местный

    Регистрация:
    15.10.11
    Сообщения:
    273
    Симпатии:
    19
    Версия XF:
    1.1.4
    Понял, спасибо большое!
     
    Jumuro нравится это.
  8. Alex Gludo

    Alex Gludo Bazinga!

    Регистрация:
    24.01.11
    Сообщения:
    484
    Симпатии:
    293
    Всегда рад помочь, чем могу ))
     
    Jigsaff, exarh и 1981 нравится это.
  9. koodry

    koodry Местный

    Регистрация:
    15.01.12
    Сообщения:
    39
    Симпатии:
    6
    Здравствуйте,
    на моем форуме очень много картинок загруженных на фото хостинги. Включил apc на сервере, стало тратится меньше оперативки на генерацию страниц. В конфиге xf включил memcached и страницы с картинками стали грузится быстрее, дебаг показал незначительное увеличение в скорости, но зависание перед загрузкой страницы пропало.

    И куча вопросов :) :
    1) Почему memcached помог с генерацией страниц с более чем 200 картинок? Ведь запросы к БД не уменьшились.
    2) В конфиге xf нужно включать и apc и memcached? ведь apc - оптимизация php кода а memcached - БД?
    3) зачем вообще включать apc в конфиге если он и так оказывает эффект?
     
  10. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Memcached, если не ошибаюсь, является кешером переменных, тогда как APC является кешером кода и кешером переменных. APC не так уж и быстр по сравнениею с memcached.
    Вообще проще поставить XCache, который также умеет кешировать как код, так и переменные, но делает это лучше APC. На многопроцессорных системах с достаточным объемом оперативной памяти XCache показывает очень хорошие результаты.
    А memcached для небольших проектов, наверное, не нужен.
     
    resonansER и koodry нравится это.
  11. FractalizeR

    FractalizeR XenForo Addicted

    Регистрация:
    27.09.10
    Сообщения:
    1 085
    Симпатии:
    832
    Версия XF:
    1.3.2
  12. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Ну вот не нужно ориентироваться на сравнения нескольких лет давности :)
    А по поводу APC. Не помню, но где-то попадалась информация о некоторых багах его. Также XCache вроде как более настраиваемый. А memcached для небольших серверов просто избыточен, да и он не умеет кешировать опкод. Тогда как и APC и XCache умеют сразу кеш кода и кеш переменных. Для небольшого и даже среднего проекта этого за глаза хватит. Большие проекты, естественно, требуют уже других средств.
     
  13. Nolik

    Nolik Местный

    Регистрация:
    13.10.10
    Сообщения:
    169
    Симпатии:
    56
    Версия XF:
    1.1.3
    На сервере есть Xcache и memcached, все крутиться через memcached и отлично работает, нариканий нет.

    Ранее стоял APC но глюкавил и был убит.. Вместо него поставили Xcache. Но я думал что он не поддерживается xenforo и поставил memmcached )

    Все таки имеет ли смысл переключать xenforo на xcache? или оставить так? Ради любопытства ))
     
  14. Kelt

    Kelt Read only

    Регистрация:
    13.06.11
    Сообщения:
    146
    Симпатии:
    46
    Глупый вопрос:
    Если у меня шаред хостинг, то я не могу лично установить механизм кеширования, а могу лишь выбрать из установленного на хостинге?
     
  15. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Думаю, что разницы в производительности, если все на XCache повесите, не заметите. А лишний демон нафиг не нужен. Хотя при интенсивной работе XCache должен быть быстрее memcached. Но тут есть один нюанс. Дело в том, что memcached рассчитан на работу сразу с несколькими серверами. Поэтому он и сделан в виде демона с работой по сетевому протоколу. Зато он умеет держать единый кеш для нескольких серверов, что может быть востребовано в некоторых проектах. То, что его ставят на небольшие проекты, это скорее от незнания, что есть и другие кешеры.
    Только не забывайте, что XCache очень любит память. Т.е. под него можно смело выделять чем больше, тем лучше. И еще. Настройки для кеша опкода и кеша переменных отличаются - нужно быть внимательным, когда настраиваете. Если ставили XCache с отключенным кешированием переменных (а по дефолту именно так), то измените настройки, после чего перегрузите веб-сервер. После можете прописать в конфиге ксена поддержку XCache и получите ощутимый прирост производительности.
    За XCache желательно наблюдать хотя бы периодически. Лучший способ - у него есть веб-админка. Можно будет наглядно видеть использование кеша, что может оказаться весьма полезным при его настройке. Заодно можно будет убедиться, что используется кеш переменных.
    Умный ответ: да :)
     
  16. Kelt

    Kelt Read only

    Регистрация:
    13.06.11
    Сообщения:
    146
    Симпатии:
    46
    Жалуется мой хостер (таймвеб) на превышение порога по нагрузке, ну и решил я включить кеширование.
    Прописал в конфиге мэмкеч, как описано в первом посте, и собсно первые пару часов все отлично, а затем сайт напрочь отказывается загружаться, просто белый экран. В админку можно зайти, но с каким то искажением css файлов.
    Вообщем нужна помощь)
     
  17. 1981

    1981 Местный

    Регистрация:
    15.10.11
    Сообщения:
    273
    Симпатии:
    19
    Версия XF:
    1.1.4
    Попробуй этот прописать

    $config['cache']['enabled'] = true;
    $config['cache']['cacheSessions'] = true;
    $config['cache']['frontend'] = 'Core';
    $config['cache']['frontendOptions'] = array(
    'caching' => true,
    'automatic_serialization' => true,
    'lifetime' => 3300,
    'cache_id_prefix' => 'xf_'
    );
    $config['cache']['backend'] = 'Memcached';
    $config['cache']['backendOptions'] = array(
    'backendOptions' => array(
    'compression' => false,
    'servers' => array(
    array(
    // your memcached server ip /address
    'host' => 'localhost',

    // memcached port
    'port' => 11211,
    )
    )
    )
    );
     
  18. Kelt

    Kelt Read only

    Регистрация:
    13.06.11
    Сообщения:
    146
    Симпатии:
    46
    Спасибо, буду тестировать.
    А вот здесь нужно какие-то свои значения вносить?
    Код:
    // your memcached server ip /address
    'host' => 'localhost',
     
    // memcached port
    'port' => 11211,
     
  19. 1981

    1981 Местный

    Регистрация:
    15.10.11
    Сообщения:
    273
    Симпатии:
    19
    Версия XF:
    1.1.4
    Нет, я тебе полный конфиг написал что был у меня для memcached

    смотри тему http://www.xf-russia.ru/forum/threads/Уменьшить-время-выполнения-запроса.3145/#post-29772
     
  20. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Да. Свои.
     

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