Octus8
Octus8
Octus8
    • Сайты
    • Сайты
    • Тарифы
    • Оптимизация производительности
    • FAQ
    • Бизнес
    • Контент
    • Программы
    • Реферальная программа
  • О нас
  • Блог
  • О нас
  • Блог
  • Сайты
  • Сайты
  • Тарифы
  • Оптимизация производительности
  • FAQ
  • Бизнес
  • Контент
  • Программы
  • Реферальная программа
  •  
  • О нас
  • Блог
  1. Оптимизация производительности

Оптимизация

произво-

дительности


Заставим твой сайт работать быстро!






Оптимизация производительности

Заставим твой сайт работать быстро!


Диагностика - бесплатно

Нужна оптимизация, пиши нам в Телеграм

Написать

Услуги по оптимизации

Базы данных MySQL, PostgreSQL

Чаще всего приложения падают из-за высокой нагрузки на базу данных, ведь именно из нее каждый раз приложение достает всю нужную для интерфейса информацию. Чтобы ее убрать, нужно оптимизировать запросы и добавить индексы в Базу Данных.

Утечки памяти

Или memory leaks. Возникают из-за неправильно написанного кода, который в результате своей работы съедает много опреативной памяти и/или ресурсов процессора.
Найдем и поправим кривой алгоритм, чтобы устранить утечку.

Кеширование

Кеширование - это сохранение результатов работы приложения в систему хранения данных в памяти типа Redis или файловую систему. После сохранения мы можем использовать эти данные (например статья в Блоге или Карточка товара или страница Каталога) и не обращаться за ними в нашу основную Базу Данных, а также избавить процессор от работы с этими данными, тем самым экономя ресурсы сервера.
Все что можно закинуть в кеш - туда надо и положить :)
Кеш можно хранить точно по времени, например час или день, а можно до обновления сущности, от которой он зависит (например при смене названия Товара нужно обновить как кеш Карточки товара, так и кеш страниц Каталога, где этот товар выводится).

Очереди

Тяжелые задачи или задачи связанные с работой других сервисов, которые нужны для работы приложения в реальном времени, лучше перенести в очередь. Даже если они не сильно нагружают приложение, то они увеличивают время ожидания пользователя, а пользователи ждать не любят.
Что это могут быть за задачи: отправка триггерного письма пользователю через сервис рассылок или передача заказа из магазина в 1С.
Задачи в очереди выполняются в порядке их поступления. Если что-то пошло не так, например сторонний сервис не ответил на наш запрос - задачу можно повторить несколько раз, прежде чем залогировать ошибку. Они выполняются параллельно работе основного приложения и поэтому не влияют на время ожидания пользователя.

Задачи на Cron

Тяжелые задачи можно выполнять по расписанию не трогая сам веб-сервер, а напрямую обращаясь к интерпретатору.
Это подходит не для всех задач, а только для тех, которые можно отложить и от которых не зависит работа приложения в реальном времени. Задачи на Cron можно объединить с очередями, если требуются частые запуски и время обработки варьируется.

Тюнинг сервера

Когда-то приложение было маленькое и его развернули с настройками по-умолчанию. Что правильно. Потому что и мощности сервера были ограничены. Если приложение обросло посетителями и нагрузкой, то нужно поправить настройки самого стека: например количество соединений, которые может единовременно поддерживать веб-сервер или сколько памяти может использовать База Данных для кеширования запросов.
Ты можешь купить дополнительную память или процессоры в облаке, а они не будут использоваться, потому что в конфигах прописаны старые настройки.

Технологический стек


  • PHP (включая Laravel, Symfony и другие фреймворки
  • Базы данных MySQL и PostgreSQL
  • Задачи для Cron на PHP или Python
  • Кеширование в Redis, в некоторых случаях – файловое кеширование
  • Очереди с использованием баз данных, Redis или RabbitMQ

  • Как мы работаем
  • Политика конфеденциальности
  • Шрифты

© 2025 . Все права защищены.

Мы используем файлы cookie для улучшения вашего опыта на нашем сайте. Продолжая использовать сайт, вы соглашаетесь на использование файлов cookie. Подробнее