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

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

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

Загрузка
  1. vkams

    vkams Местный

    Регистрация:
    08.07.11
    Сообщения:
    132
    Симпатии:
    28
    Спасибо, поотключал Google +1, FaceBook. Теперь главная страница грузится меньше чем за 2 с. Дальнейшую оптимизацию продолжу после обновления версии.
     
  2. SeM13

    SeM13 Создатель системы

    Регистрация:
    05.01.11
    Сообщения:
    747
    Симпатии:
    258
    Версия XF:
    1.1.3
    Код:
    $config['cache']['cacheSessions'] = true; // Интересно знать как работает эта новая опция? И за что отвечает?
    $config['cache'] = array(
    'enabled' => true,
    'frontend' => 'Core',
    'frontendOptions' => array(
    'caching' => true,
    'automatic_serialization' => false,
    'cache_id_prefix' => 'xf_',
    'lifetime' => 18000 // За что отвечает эта опция? И как с ней можно поэкспериментировать?
    ),
    'backend' => 'Xcache',
    'backendOptions' => array(),
    );
     
  3. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    1. Хранит сессии не в базе данных, а в кеше, что позволяет уменьшить количество запросов к базе данных.
    2. Время жизни в кеше. В секундах.
     
    SeM13 нравится это.
  4. SeM13

    SeM13 Создатель системы

    Регистрация:
    05.01.11
    Сообщения:
    747
    Симпатии:
    258
    Версия XF:
    1.1.3
    По поводу первого, не заметил разницы вообще.
    А второе, мм, тоесть чем больше число тем больше кеш, тем меньше нагруз?
     
  5. Romchik®

    Romchik® The Power of Dreams Команда форума

    Регистрация:
    26.09.10
    Сообщения:
    5 746
    Симпатии:
    5 311
    Версия XF:
    1.5.18
    Скорее "дольше" :)
    Соответственно и нагрузка меньше. Хотя задирать значение наверно не стоит.
     
    SeM13 нравится это.
  6. GroupR

    GroupR Активный пользователь

    Регистрация:
    22.10.11
    Сообщения:
    44
    Симпатии:
    9
    Версия XF:
    1.1.2
    При включении APC или xCache открывая форум он не работает, ошибка висит.
     
  7. Kn1ght

    Kn1ght Местный

    Регистрация:
    16.02.11
    Сообщения:
    180
    Симпатии:
    47
    Версия XF:
    1.2.4
    вот ее бы что конкретно в ошибке....
    например в дифалтном конфиге хКеша в дебиане отключено кеширование переменных, по этому форум и ругается.
     
  8. Sadorimatsu

    Sadorimatsu Местный

    Регистрация:
    29.09.10
    Сообщения:
    145
    Симпатии:
    10
    Версия XF:
    1.1.3
    Подскажите, немного не понял сути настройки кеша.
    Вот, из первого поста мы добавляем после данных конфига это: (для включения кеша)
    Код:
    $config['cache']['enabled'] = true;
    $config['cache']['frontend'] = 'Core';
    $config['cache']['frontendOptions'] = array(
        'caching'                  => true,
        'automatic_serialization'  => true,
        'lifetime'                  => 3600,
        'cache_id_prefix'          => 'xf_'
    ); 
    Мой механизм кеширования на сервере Memcached. Как мне для него провести эту настройку?
    Код:
    $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,
                )
            )
        )
    ); 
    А то не особо понятно это дело.
    Конечно при обычном включении кеширования загрузка форума резко увеличилось, но вот нужно ли проводить настройку Memcached?
     
  9. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Если оно работает, то зачем что-то менять? Вот если его перестанет хватать, то тогда и появится смысл задуматься о тюнинге.
     
  10. Sadorimatsu

    Sadorimatsu Местный

    Регистрация:
    29.09.10
    Сообщения:
    145
    Симпатии:
    10
    Версия XF:
    1.1.3
    Да просто хотелось бы сразу знать, что для этого будет нужно для Memcached.
    И конечно же, что же даст настройка Memcached?
     
  11. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    В ксене больше ничего не нужно настраивать. В самом мемкеше - не знаю, я его не ковырял. Я использую XCache - там настроек не много (для меня потребовалось поменять только количество потоков).
    Как вариант - для любой системы кеширования вначале хватит поменять количество потоков (подогнать под количество процессоров пропорционально или что-то в этом духе), а также объем памяти, выделяемый под кеш. Более тонкие настройки, такие как время жизни и прочее, нужно эмпирическим путем подбирать обычно.
     
    Sadorimatsu нравится это.
  12. Yoskaldyr

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

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

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Ну так мозги всегда нужны. В моем случае, к примеру, распараллеливание на 8 потоков было злом, так как понадобилось бы дать большой объем памяти для этого, которой лишней нет. Поэтому при 8-ми процессорах отдал хкешу 4 - он доволен :)
    Блоки php#X в хкеше - по сути именно потоки, но не в этом дело. Если процессор выгребает, то можно и один нагрузить, дав хкешу только один поток с большим объемом памяти. Распараллеливание нужно в том случае, когда не хочется нагружать процессор. Но есть и обратная сторона медали - не всегда в одном из потоков возможно будет разместить большие блоки кода, так как там может быть фрагментация. А вся отданная память хкешу пропорционально отдается каждому потоку. В результате распараллеливание разгружает сервер и обеспечивает хорошую производительность, но требует значительного объема памяти.

    И вообще, я же говорил, что все настройки - эмпирические в основном, а не методом простой математики и логики. Ведь конфигурации серверов у всех разные. Универсального рецепта нет, но общие идеи оптимизации, конечно же, существуют.
     
    1981 и Yoskaldyr нравится это.
  14. Yoskaldyr

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

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    Именно об этом я и говорил ;) Более полно я наверное и не объяснил и не написал бы :)
    Просто заявление об увеличении потоков многие могли бы понять строго по инструкции хкеша - по количеству процов, а это в большинстве случаев (обычный веб сервер с лимитированной оперативой) дало бы не очень хорошие результаты.
     
  15. 1981

    1981 Местный

    Регистрация:
    15.10.11
    Сообщения:
    273
    Симпатии:
    19
    Версия XF:
    1.1.4
    Включение кэширования увеличивает потребление оперативной памяти? (если VDS)
     
  16. Kn1ght

    Kn1ght Местный

    Регистрация:
    16.02.11
    Сообщения:
    180
    Симпатии:
    47
    Версия XF:
    1.2.4
    не значительно, так как что бы забить память надо слегка накосячить в конфиге (поставить жутко большое время жизни кеша)
     
  17. 1981

    1981 Местный

    Регистрация:
    15.10.11
    Сообщения:
    273
    Симпатии:
    19
    Версия XF:
    1.1.4
    Для работы форума, тем 1000, сообщении 15000, хостов в день до 1000, сколько памяти нужно для VDS, чтоб работал нормально? не зависал?
     
  18. Kn1ght

    Kn1ght Местный

    Регистрация:
    16.02.11
    Сообщения:
    180
    Симпатии:
    47
    Версия XF:
    1.2.4
    у меня 4.8к тем, 50к сообщения, 1200 хостов в день
    используется nginx+php-fpm
    сервер кушает
    total used free shared buffers cached
    Mem: 2064100 1889196 174904 0 206840 1420336
    что примерно дает 250-260 метров памяти, но при этом там еще болтается консольная icq, севрер тимспика (с 30-40 клиентами), консольный irc клиент.
    Но тут еще надо знать какая виртуализация используется, так как 256мб в OpenVZ и Xen работают по разному.
     
    1981 нравится это.
  19. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Важно количество онлайн, а не те цифры, которые Вы указали. Но вообще для кеширования хватает и 64 Мб. Ну можно чуть побольше выделить. И сильно зависит от того, что за VDS. На Linux нужно около 512 Мб для нормальной работы. На FreeBSD можно чуток поменьше. Для комфортной работы нужна и память и процессор. Если на каком нибудь Core2Duo, то это не мощный процессор. Если на Xeon, то это уже интереснее. Также хорошо помогает многопроцессорность.
    Для Вашего форума нужна очень средняя VDS. Работать будет более-менее сносно.
     
    1981 нравится это.
  20. Kn1ght

    Kn1ght Местный

    Регистрация:
    16.02.11
    Сообщения:
    180
    Симпатии:
    47
    Версия XF:
    1.2.4
    в онлайне у меня вечером 40-50 человек.
    Сейчас провел тест (loadimpact.com)
    при 27 запросах в секунду (а этого малореально при 1к хитов в сутки) память только один раз выросла до 280мб (и то потому что проца не хватило чуть чуть), в остальное время были обычные цифры (260мб).
    Большую роль играет и процессор, так как если пхп не будет успеват генерить странички до поступления новых запросов то будут рождаться новые детки пхп (конечное количество настраевается) и будут жрать память.
    --- добавлено : Dec 14, 2011 3:32 PM ---
    p.s. на core2duo index генерится без кеша 0.15сек, с в кешем 0.08.
    Сами обсуждения чуть медленее (0.09-0.1 с кешем)
    кстати версия 1.1 медленее на 0.03 сек чем 1.0 :D
     
    1981 нравится это.

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