• За счет чего достигается высокая скорость сайта?

    @Litl
    Cloud Flare - полное кеширование всех страниц (это можно уидеть по заголовку ответа cf-cache-status: HIT)
    В настройках Page Rules можно задать полное кеширование всех частей (т.е. если сайт статичный +/- можно полностью его кешировать исключив админку, нехочу расписывать как - загуглите, там +/- всё правильно описано

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

    Плюсы:
    • Минимальный отклик, т.к. сервер CDN находится в 99% ближе к клиенту чем ваш сервер.
    • Кешированная страница отдаётся без участия сервера, т.е. уменьшаем нагрузку


    Минусы:
    • Страница попадает в кеш на сервере CDN после захода пользователя через этот сервер (т.е. если вы работаете с СНГ регионом это ок, там в каждой стране по 1-2 дата-центру, а если, например, Америка, там они в каждом штате ... карту CND CF можно найти на их сайте)
    • Для создания динамических частей нужно использовать либо ajax либо делать их на js


    Как по мне хороший вариант кеширования с помощью Nginx, но он требует немного кода:
    1. Сохраняем вывод страницы после рендеринга в файл сохраняя структуру
    2. Натравливаем try_files на кеш
    3. Используя SSI модуль в Nginx можно динамически управлять контентом из кеша (например пользователям из EU показывать cookie баннер используя GEO модуль)
    4. Также можно делать холодный страрт кеша после заливки прикрутив простой скрип (в цикле курлом пройтись по страницам) в свой CI


    P.S. на примере tproger можно точно найти оплошности в бустродействии:
    Разбросанность файлов на поддомены требует доп запроса DNS и инициализации SSL что змедляет страницу (несмотря даже на заголовки в хидере типа preconnect и prefetch)
    Отсутствие миницикации JS внутри самой html страницы
    Ну там много рахных мелочей, но в целом неплохо :)
    Ответ написан
    Комментировать
  • Не работает recipient_delimiter в Postfix?

    @Litl
    Если ошибка вида:
    postfix/pipe[25066]: 54B80139405: to=, relay=dovecot, delay=0.45, delays=0.39/0.01/0/0.05, dsn=5.1.1, status=bounced (user unknown)

    Вероятно проблема в непонимании dovecot такого ящика, можно перенастроить /etc/postfix/master.cf
    Заменить:
    dovecot unix - n n - - pipe
    flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}
    На:
    dovecot unix - n n - - pipe
    flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${user}@${nexthop}

    Возможно есть более правильный вариант настройки dovecot, но меня устроил и этот вариант.
    Ответ написан
    Комментировать