100 тыс. запросов на общем хостинге с помощью трехуровневого кэширования (на основе CI4)Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 100 тыс. запросов на общем хостинге с помощью трехуровневого кэширования (на основе CI4)

Сообщение Anonymous »

Я хотел рассказать, как мы используем возможности CodeIgniter 4 в нашем проекте SHONiR CMS для достижения высокоскоростной доставки контента (более 100 тысяч запросов) даже в недорогих средах общего хостинга.
Одна из наших основных философий: не трогайте ядро. Мы считаем, что команда CI4 — элитная, а фреймворк уже является одной из самых стабильных доступных основ PHP. Вместо изменения основных файлов мы сосредоточились на более эффективном «использовании» встроенных возможностей платформы.
Как это работает: архитектура трехуровневого кэша

Чтобы поддерживать высокую производительность без дорогостоящей инфраструктуры, SHONiR CMS реализует три отдельных уровня:
1. Встроенное кэширование веб-страниц CI4

Мы используем встроенную функциональность $this->cachePage(300). Это «работающая как шарм» функция, которая обрабатывает сгенерированный вывод страницы, минуя логику контроллера при последующих обращениях.

Ссылка: Руководство пользователя по кэшированию CodeIgniter 4: https://codeigniter.com/user_guide/general/caching.html
2. Статическое HTML-кеширование (убийца БД)

Для таких сайтов, как бизнес-портфолио или каталоги, которые не обновляются каждую минуту, запросы к базе данных на предмет каждого обращения являются пустой тратой ресурсов.
Механизм: SHONiR генерирует полностью визуализированный HTML-файл и сохраняет его в writable/cache/htmls.
Результат: по запросу система напрямую доставляет статический HTML-файл. Никакого подключения к базе данных, никакой тяжелой обработки PHP.
Отслеживаемость: мы вставляем временные метки генерации в исходный код для прозрачности разработчика:


3. Уровень оптимизации изображений

Большие изображения больше всего снижают производительность. SHONiR автоматически:
Преобразует изображения в расширение WebP.
Сжимает файлы для уменьшения размера при сохранении визуального качества.
Сохраняет их в выделенном кеше изображений (управляется через tbl_config).
Реальная производительность

По данным нашего тестирования, даже на средних серверах использование памяти остается невероятно низким:

Использование: 659,19 кб | Пик: 659,73 КБ.
Как настроить (для новичков в CI4)

Мы упростили активацию через базу данных (tbl_config) и файл .env:
Глобальное время кэша: в tbl_config установите для параметра Cache_time желаемое значение в секундах (например, 3600 для 1 часа). Установка значения 0 очищает/отключает кеш.
Включите кэш HTML: в вашем .env просто установите html.cache = true.
Качество изображения: контролируйте степень сжатия (0–100) с помощью ключа image_quality в таблице конфигурации.
Вывод

Сохраняя чистую архитектуру и уважая ядро CI4, мы создали система, которая одновременно проста в обслуживании и невероятно быстра. Это доказывает, что вам не нужен сложный стек для обработки большого трафика — вам просто нужно правильно использовать CodeIgniter.
Посмотрите демо-версию с кэшированием в реальном времени: https://8.shonir.com/shonir-cms/bpd17/m ... ite-speed- Performance.html
Будем рады услышать ваши мысли или ответить на любые вопросы о нашем реализация!

Подробнее здесь: https://stackoverflow.com/questions/799 ... ilt-on-ci4
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»