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

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

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

Загрузка
  1. SilverMoon

    SilverMoon Новичок

    Регистрация:
    09.08.14
    Сообщения:
    3
    Симпатии:
    0
    Версия XF:
    1.3.2
    Yoskaldyr, infis, спасибо большое за советы! Про апач поняла, он действительно тот еще тяжеловес. Если я скажу, что у нас база весит 6,5 гб, сервер с какими ресурсами вы можете посоветовать? :D С условием, что апач останется и с условием, что от апача мы откажемся? Может, есть опыт размещения подобных объемных сайтов... Потому что если, как вы говорите, подобного сервера в любом случае не хватит при любой оптимизации, не хотелось бы брать снова тот, что окажется слабым, но и переплачивать за лишние ресурсы не вариант.
     
  2. Yoskaldyr

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

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    @SilverMoon, при большой посещалке от апача ляжет любой сервер (ну специфика такая у него - он универсальный, а не производительный и специализированный для php). Ему сколько памяти не дай всю съест.
    Я не могу сказать какого сервера точно хватит, т.к. все очень зависит от того что именно в базе занимает этот размер (больше интересен размер таблиц xf_post и xf_search_index).
    Также все зависит от того какая именно активность происходит на форуме, т.е. что именно пользователи делают на форуме, как часто отвечают, как часто пользуются поиском.
    Т.е. с одной стороны может и хватит 2Гб памяти при одном поведении пользователей и быстром HDD, а с другой может и не хватить при другом поведении и немного более медленным диском.
     
  3. zuka

    zuka Местный

    Регистрация:
    09.07.12
    Сообщения:
    74
    Симпатии:
    16
    Версия XF:
    1.5.5
    С такой посещалкой пора дедик брать, с нормальным объемом оперативки.
    База сколько занимает?
     
    xsacha нравится это.
  4. Kn1ght

    Kn1ght Местный

    Регистрация:
    16.02.11
    Сообщения:
    180
    Симпатии:
    47
    Версия XF:
    1.2.4
    @SilverMoon А что говорит дебаг на долго генерящейстя странице?
    Там есть процентное отношение времени выполнения запроса к базе относительно всего времени генерации страницы.

    Например:
    xf_gentime.png

    И тогда будет более менее понятно что тормозит.

    п.с. не очень понятно по какой причине вы там держитесь за апач.

    п.п.с. если есть ошибки по поводу "MaxClients", то по какой причине не увеличиваете данный параметр?


    К слову о дисках и памяти: после перехода хостера на ssd с уменьшением оперативной памяти мой форум стал работать быстрее.
     
    Последнее редактирование: 11.08.2014
  5. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    SSD вещь крайне полезная, ибо база на нем работает, естественно, быстрее. На всем остальном это уже не сильно скажется, так как при кешировании опкода дисковая подсистема напрягается только тогда, когда код считывается в первый раз. Получается, что можно даже слегка снизить потребление сервером базы данных оперативной памяти, ведь узким горлышком при работе с базой данных как раз и является работа с большими индексами, когда они не помещаются в оперативную память. Ну и всегда важна производительность процессор(а|ов).
     
  6. zuka

    zuka Местный

    Регистрация:
    09.07.12
    Сообщения:
    74
    Симпатии:
    16
    Версия XF:
    1.5.5
    @SilverMoon так сколько база занимает?
     
  7. xsacha

    xsacha Местный

    Регистрация:
    06.08.14
    Сообщения:
    76
    Симпатии:
    11
    Скажите с такой нагрузкой как у zuka, хватит такой мощности xeon 1265L+16Гб памяти, объем жестких 4-12ТБ+120 SSD и канал 100Мб ????
     
  8. zuka

    zuka Местный

    Регистрация:
    09.07.12
    Сообщения:
    74
    Симпатии:
    16
    Версия XF:
    1.5.5
    лично у меня другая нагрузка, это нагрузка у @SilverMoon :)
    К сожалению так и не понятен объем базы mysql
     
  9. xsacha

    xsacha Местный

    Регистрация:
    06.08.14
    Сообщения:
    76
    Симпатии:
    11
    Думаю база врятли превысит 50Гб, а вот на поставленный мной вопрос выше, если кто то сможет ответить буду очень признателен.
     
  10. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Решил провести небольшое сравнение nginx+apache2+libapache2-mod-php5 и nginx+php5-fpm. В обоих случаях сервер был одинаковый - 8 процессоров, 2Гб памяти. В обоих случаях был включен xcache.
    Нагружал с помощью Apache Benchmark:
    Код:
    ab -c 150 -n 1000 -v 1 -k http://сайт.ru/
    Параметры команды:
    • 150 одновременных соединений;
    • 1000 всего запросов;
    • режим keep-alive включен (удержание соединения для повторных запросов).
    Апач умер очень быстро, отбросив 847 запросов из 1000. При этом сразу сожрал всю память и полез в своп.
    nginx выдержал все, обработав все 1000 запросов. При этом оперативная память была занята менее, чем наполовину (чуть больше 800 Мб).

    Таким образом большой онлайн апачу даже на сравнительно мощном сервере не по зубам. Тогда как даже без особого тюнинга nginx может держать большие нагрузки.

    Сайт и база данных использовались одни и те же. Главная страница сайта - главная страница форума (в режиме отладки главная страница использует 12 запросов).
     
    Последнее редактирование: 15.08.2014
    Mirovinger и Kolya groza morey нравится это.
  11. xsacha

    xsacha Местный

    Регистрация:
    06.08.14
    Сообщения:
    76
    Симпатии:
    11
    а если у меня Apache Benchmark нет, то как мне нагрузить свои сайты ?
     
  12. zuka

    zuka Местный

    Регистрация:
    09.07.12
    Сообщения:
    74
    Симпатии:
    16
    Версия XF:
    1.5.5
    50 гигов? вы серьезно? у меня форум чуть более миллиона постов, база порядка 4-х гигабайт, из них 1 гб это таблица постов
    ваша конфа так неплоха, не уверен насчет 50 гигов, но для крупного посещаемого форума вполне при грамотных настройках
    p.s. для таких объемов да для SSD рекомендую посмотреть на Percona Server взамен стандартного пакета MySQL
     
    xsacha нравится это.
  13. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Для Windows по идее утилита должна входить в дистрибутив Apache 2.2.
    Если речь идет о Linux, то в Debian нужно установить пакет apache2-utils. Для CentOS - пакет httpd-tools. Ну и для других дистрибутивов не сложно найти аналогичные пакеты.
     
    Mirovinger и xsacha нравится это.
  14. Grell

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

    Регистрация:
    10.04.14
    Сообщения:
    77
    Симпатии:
    38
    Версия XF:
    1.3.2
    Через утилиту siege можно нагрузить еще.
     
    Mirovinger нравится это.
  15. melti25

    melti25 Read only

    Регистрация:
    24.09.14
    Сообщения:
    11
    Симпатии:
    0
    Версия XF:
    1.4.0
    :ninja: У меня 30 мб база :eek:
     
  16. Karat7

    Karat7 Заблокирован

    Регистрация:
    19.03.14
    Сообщения:
    140
    Симпатии:
    13
    Версия XF:
    1.4.2
    Ну его..:D разные варианты пробовал выдает: Произошла неожиданная ошибка. Пожалуйста, попробуйте немного позже.
     
  17. lexx838

    lexx838 Местный

    Регистрация:
    25.12.13
    Сообщения:
    8
    Симпатии:
    1
    Версия XF:
    1.5.11
    Добрый вечер!
    Подскажите пожалуйста...
    Стоят 2 форума на шаред хостинге - бегет. После переезда с пхпбб на ксенфоро, увеличилась нагрузка СР.
    По указанным инструкциям делал кэширование пытаясь снизить нагрузку.
    Проверил все варианты кэширования, работает только Memcached, в остальных случаях пишет, что: An unexpected error occurred. Please try again later.
    Но проблема в том, что форум с посещаемостью 500 уников, 4000 просмотров, на версии 1.3.3 - мемкэш наверное работает (выборки пока большой нет).
    А вот на форуме с 800 униками и 10000 просмотров, на версии 1.4.3 - при прописывании мемкэша - страница становится просто белой!
    Вопросы: 1. Есть смысл ковырять дальше кэширование для уменьшиния нагрузки?
    2. Почему не работает кэш в файл и что мне надо попросить у хостера. (хостер пишет, что работают все методы)?
    3. Если упираться в мемкэш, то в чем разница/что посмотреть между 2мя версиями, чтобы мемкэш работал нормально на 1.4.3?
    Заранее спасибо за ответы :rolleyes:
     
  18. infis

    infis Местный

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

    P.S. Если сравнивать phpBB и XenForo по прожорливости, то они будут примерно как Жигули и Волга.
     
  19. ANGEL OF FIRE

    ANGEL OF FIRE Модератор

    Регистрация:
    06.11.11
    Сообщения:
    395
    Симпатии:
    180
    Версия XF:
    1.1.3
    Для Ксюши существует плагин Zend Redis Cache.

    https://xenforo.com/community/resources/zend-redis-cache.3965/

    Устанавливаем этот плагин.
    Прописываем в /library/config.php

    Код:
    $config['cache']['backend'] = 'Redis';
    $config['cache']['backendOptions'] = array(
            'server' => '127.0.0.1',
            'port' => 6379,
            );
    require(XenForo_Application::getConfigDir().'/SV/RedisCache/Installer.php');       
    
    Конечно же не забываем что сперва нужно провести полную установку и настройку Redis на сервере. Поэтому спрашивайте своего хостера.
     
    Yoskaldyr нравится это.
  20. Yoskaldyr

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

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    ANGEL OF FIRE, но все как-то слишком сложно.
    Кто хотел использовать редис просто мог погуглить "zend cache backend redis" залить найденный файл на сервер и подправить конфиг для использования нового кеша и без установки каких либо дополнений.
    Просто мне кажется что тому кому нужен редис в качестве бекэнда его использовал еще с самой первой версии ксена :)
     

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