Category Archives: серверная оптимизация

SQL. Как переписать correlation subquery в JOIN to derived table

Допустим есть такая таблица

Подробное объяснение EXPLAIN в PostgreSQL

understanding_explain

Встроенные утилиты linux для слежения за системой

и многие, многие другие на одной схеме:

Настройка свопа и управление кэшами в Ubuntu

http://fx-files.ru/archives/704

Для сохранения настройки после перезагрузки внесите в конец файла /etc/sysctl.conf следующую строку:

Чтобы сразу применить настройку:

Доклад об использовании RabbitMQ в Mamba

Асинхронная обработка данных: RabbitMQ, Comet from Андрей Федоровский http://www.slideshare.net/pomme3/ss-20026832

Доклад про отладку node на production

Вот слайды — http://dtrace.org/blogs/dap/2012/05/31/debugging-node-js-in-production-fluent-slides/. В докладе рассказывается, как отлаживать боевой сервер без его остановки и как работать с дампами зависшего сервера. Все сводится к использованию двух инструментов: Dtrace (http://dtrace.org/blogs/dap/2012/04/25/profiling-node-js/, http://dtrace.org/blogs/dap/2012/01/13/playing-with-nodev8-postmortem-debugging/) и mdb_v8 (https://github.com/joyent/illumos-joyent/blob/master/usr/src/cmd/mdb/common/modules/v8/mdb_v8.c, https://github.com/joyent/node/blob/master/src/v8ustack.d)

Библиотека для Node.js для нереально больших нагрузок

https://hacks.mozilla.org/2013/01/building-a-node-js-server-that-wont-melt-a-node-js-holiday-season-part-5/ Использование:

Т.е. при большой занятости показывает всем 503 (в этом примере), от чего проку конечно мало. Но делает очень быстро, а в реальных условиях можно отдавать страницу-заглушку, практически не нагружая сервер. Интересно то, как он меряет — меряет очередь заданий во внутреннем цикле Node.js

Realtime-профилирование проекта от Instagram

Measurements: счетчики и таймеры Дабы следить за всем, что происходить внутри, надо как-то мониторить всю активность. Обычно это два типа активности: какие-то количества (counters, регистраций в секунду, например) и какие-то интервалы времени (timers, сколько по времени занимает лайкнуть винтажное фото, например). Но как быть, когда у тебя не одна машина на балконе, а пара десятков …

Read more

Интересный доклад про разработку API

На конференции «.Тостер» попал на доклад Jordi Romero API design and more (слайды). Говорил про создание API, про кеширование, про масштабирование, клиентскую оптимизацию. Понемножку, сжато. Понравилось. Странно только, что у них три уровня хранения данных: mySQL master-slave Redis для сложного кеша, чтобы не нагружать mySQL memcache для простого кеша

Использование VIEW в mySQL 5.0. Проблемы с производительностью.

Для тех, кто не знает, что это такое — ссылка Вкратце: созздаёт, фактически, «временную таблицу» (более правильно сказать — виртуальную таблицу или результат выборки в виде таблицы), в которой могут храниться данные из других таблиц и результаты применения аггрегирующих функций к ним. При этом если хранятся только данные, то эта таблица обновляется при обновлении входящих …

Read more