Highload

Mpstat

Mpstat – это утилита для мониторинга состояния процессора из пакета sysstat.

11.01.2021

Полнотекстовый поиск в PostgreSQL

Для полнотекстового поиска в PostgreSQL предусмотрены специальные типы данных: tsvector и tsquery.

11.01.2021

MysqlData

Часто нужно заполнить талблицы какими-то данными. Особенно для того, чтобы провести тестирование нагрузки. Для этого предназначен инструмент MysqlData. Не понадобится…

04.01.2021

OptiPNG

OptiPNG – программа для оптимизации PNG.

03.01.2021

Что такое Above-the-fold?

Above the fold — это верхняя половина видимой части сайта на первом экране. Т.е. первые полэкрана сайта. Pagespeed уделяет особое…

02.01.2021

Как сделать mysqldump с фильтром по названию

Если вам нужно сделать дамп базы данных, но только некоторых таблиц, которые соответствуют какому-то шаблону, вам поможет этот код:

31.12.2020

Vertica: как узнать размеры таблиц?

Чтобы вывести список таблиц в Вертике, отсортированных по размеру, достаточно использовать следующий запрос:

30.12.2020

Как увеличить memory_limit

Чтобы увеличить размер максимально доступной памяти в PHP, достаточно вызвать функцию: ini_set('memory_limit', '**128M**'); ## Увеличит максимальную память до 128Мб для…

28.12.2020

slow_query_log параметр в Mysql

Этот параметр устанавливает путь к логу медленных запросов Mysql. Используется вместе с параметром long_query_time, который указывает минимальное время выполнения запроса…

28.12.2020

Scaling приложения на Python/Django

За более, чем 20 лет существования, Python обзавелся толпой фанатов, большим количеством модулей для всех популярных платформ и множеством Фреймворков.…

23.12.2020

Использование AggregatingMergeTree в Clickhouse

Даже колоночные базы данных, вроде Clickhouse, сталкиваются с проблемами слишком большого количества данных и слишком медленных запросов. Для таких случаев…

22.12.2020

Ультра быстрая обработка картинок с Pillow-SIMD

Imagemagick – один из самых популярных инструментов для обработки картинок. Не смотря на почти бесконечный набор функций, этот инструмент обычно…

22.12.2020

Решения на NoSQL базах

В этой статье рассмотрим принципы решения типичных задач в key-value базах данных.

19.12.2020

php.ini

php.ini — это файл настроек php. Чтобы найти его, используйте команду: find / -name php.ini

14.12.2020

Профилирование в PostgreSQL

Проблема медленной или недостаточно быстрой работы СУБД возникает как в системах с высокой нагрузкой, так и в простых приложениях. При…

14.12.2020

Сбор метрик из Nginx’a в Clickhouse

Запись данных в Clickhouse (и другие векторные базы) может достигать производительности в миллионы строк в секунду. Для этого важно писать…

13.12.2020

innodb_flush_log_at_trx_commit и рекомендуемые значения

Параметр innodb_flush_log_at_trx_commit позволяет выбрать стратегию сброса данных на диск при работе MySQL.

13.12.2020

Что такое K-safety

K-safety – это подход для оценки доступности системы. Это количественная метрика, показывающее какое количество узлов в кластере может выйти из…

13.12.2020

Управление сигналами pcntl в PHP

Что произойдет, если работающий скрипт остановить? В случае сколь-нибудь сложной логики, последствия могут быть самыми плачевными:

11.12.2020

Горизонтальный шардинг

Так или иначе возникает ситуация, когда на сервере базы данных со временем приходится работать с огромными таблицами.

11.12.2020

Как запустить скрипт в фоновом режиме?

Достаточно часто возникает потребность запустить длительный скрипт в фоновом режиме. Для решение этой задачи существует несколько инструментов: nohup, screen, tmux.…

10.12.2020

Определение лишних индексов в MySQL

База данных чаще всего становится слабым местом высоконагруженного веб-приложения. Так что даже лишние, неиспользуемые индексы способны замедлить работу MySQL.

07.12.2020

PHP foreach

Цикл foreach – один из самых удобных инструментов в PHP. Он позволяет обрабатывать ассоциативные массивы: $array = ['статьи', 'вопросы', 'ответы'];

05.12.2020

JavaScript-кэширование

Возникают ситуации, когда нам требуется довольно часто дергать какой-либо DOM элемент (например, с помощью querySelector). Но к сожалению, этот метод…

04.12.2020

Что такое составной индекс?

Составной индекс – это индекс, построенный по нескольким колонкам. Такие индексы имеет смысл использовать, когда в одном запросе фигурируют более…

03.12.2020

Конфигурация Nginx для Yii

Оптимальная конфигурация Nginx для приложений на Yii. Используется: Отдача статики без PHP обработки Сжатие Возможность подключения клиентского кэширования server {…

03.12.2020

Чеклист по скорости PHP

Меньше ООП Не используйте объектов там, где в них нет необходимости. Используйте массивы PHP, это мощный и удобный инструмент.

01.12.2020

Оптимизация ORDER BY RAND()

Как выбрать случайную запись из таблицы в Mysql? SELECT id FROM files **ORDER BY rand()** LIMIT 1;

01.12.2020

Очереди сообщений

Очередь сообщений позволяет обеспечить асинхронное выполнение участков программы. Это позволяет:

30.11.2020

Как использовать индексы в JOIN запросах Mysql

Работа с индексами в Mysql – это фундаментальная задача для построения систем с высокой производительностью. В этой статье разберемся с…

30.11.2020

Что такое продуктив?

Продуктив (production или прод) - это реальная среда работы сайта. Т.е. это и есть сам основной сайт, который установлен на…

29.11.2020

Ошибка Maximum execution time of 30 seconds exceeded

Ошибка Maximum execution time of 30 seconds exceeded возникает, когда PHP скрипт выполняется более 30 секунд.

27.11.2020

4 главных performance команды

Как быстро диагностировать проблему на сервере? Для этого есть несколько удобных команд.

20.11.2020

Оптимизация изображений с WebP

Минификация и сжатие уже давно стали вполне стандартными вещами для оптимизации кода веб-страниц. Все популярные веб-ресурсы оптимизируют изображения, используют все…

18.11.2020

Анализ нагрузки на сервер

Анализ нагрузки на сервер позволит быстро понять причины медленной работы. Это необходимо делать еще и для того, чтобы вовремя планировать…

18.11.2020