У меня есть веб-сайт, https://smodin.me, для которого я создал папку кэша nginx. Все страницы имеют размер c страниц, но я выполняю серверную часть, чтобы получить обновленные данные из конечной точки службы, прежде чем отобразить страницу.
Однако кэш уменьшил нагрузку на сервер на 90%, когда я используйте? nocache = true. Я получаю более быстрое время отклика (90/100 против 60/100 на рабочем столе) в зависимости от скорости страницы Google https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fsmodin.me%2Ffree-english-rewriter-and-spinner%3Fnocache%3Dtrue&tab=desktop.
Мой клиент запускает реакцию следующий js сервер и он работает на цифровой океанской капле, на которой я использую диск подкачки. Каждый микросервис, включая nginx, имеет собственный контейнер docker.
Код кэша nginx:
proxy_cache smodin_cache;
proxy_cache_min_uses 5;
proxy_cache_use_stale error timeout http_404 http_500 http_502 http_503 http_504;
proxy_cache_valid 200 60m; # NOTE: cache of 1 hour
proxy_buffering on;
Я не уверен, как оптимизировать, так как думал, что nginx кеш был лучшим способом. Раньше у меня на рабочем столе было 100 баллов, пока я не добавлял на сайт рекламу, но тем не менее моя скорость нокаша выше.
Идеи для повышения производительности:
- извлеките диск подкачки и обновите память сервера
- Добавьте какой-нибудь слой CDN (не уверен, что я должен добавить или что-то еще хотя)
- Исправьте nginx код кэширования, возможно, добавьте 2 папки для кэширования вместо одной
- Сделайте некоторую ленивую загрузку ниже сгиба, чтобы сократить время до первой рисования
- ???