Оптимизация производительности баз
2 subscribers
28 photos
2 videos
61 links
Download Telegram
Параметры БД нельзя «докрутить на глаз»: сначала метрика, потом конфиг

Коллеги, давайте разберем план выполнения. Настройки БД — это не набор «улучшайзеров», а рычаги под конкретную нагрузку. Один параметр помогает на OLTP, тот же самый на отчетах может раздувать память, очередь I/O или время восстановления.

Перед изменением проверьте три вещи:
— профиль запросов: короткие транзакции, тяжёлые join’ы, сортировки, bulk-load;
— узкие места: CPU, RAM, диск, блокировки, сетевые ожидания;
— цену ошибки: сколько памяти съест буфер, как вырастет WAL/redo, что будет при рестарте.

Типовые ловушки: поднять кеш «побольше» без лимитов ОС; включить агрессивный параллелизм и получить драку за CPU; увеличить размер журнала и забыть про архивирование и место на диске. Схема простая, но дьявол кроется в статистике: без неё тюнинг превращается в шаманство с тяжелыми последствиями.

Меняйте один параметр за раз, фиксируйте исходное значение и сравнивайте не «ощущения», а план, latency и I/O. Золотое правило: сначала мониторинг, потом индексы. Тогда конфиг действительно помогает, а не маскирует проблему.
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
OpenAI извинились за новый дизайн ChatGPT

OpenAI признала, что новый десктопный ChatGPT вышел перегруженным: слитые в один интерфейс Chat, Work и Codex запутали пользователей и раздули приложение почти в 10 раз. После хейта обновление откатили, а вывод простой: функции надо упаковывать в единый UX без лишнего шума, даже если это помогает росту базы.

➡️ Читайте на сайте: https://aff.top/blog/openai-izvinilis-za-novyi-dizain-chatgpt

🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
ChatGPT 5.6 Luna и Terra подешевели

OpenAI резко снизила цены на GPT-5.6 Luna и Terra спустя три недели после релиза, сделав их заметно дешевле для массового использования. Sol осталась премиальной по прежнему прайсу, но получила Fast mode с ускорением до 2,5 раза. Вывод: компания давит ценой и скоростью, чтобы быстрее нарастить спрос и долю рынка.

➡️ Читайте на сайте: https://aff.top/blog/chatgpt-5-6-luna-i-terra-podesheveli

🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
Доменная зона .web делегирован в корневую зону DNS

Verisign вывела .web в корневую зону DNS: теперь это полноценный TLD, но открытая регистрация ещё не стартовала. Сначала доступ получат владельцы совпадающих доменов в .com через LRP. Вывод для рынка: хорошие EMD в .com могут стать входным билетом в .web, если успеть занять брендовые имена раньше общего запуска.

➡️ Читайте на сайте: https://aff.top/blog/domennaia-zona-web-delegirovan-v-kornevuiu-zonu-dns

🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from ZM apps | Channel
🔥 Wheel Out уже доступна в ZM apps!

Новый instant-хит с простой и затягивающей механикой.

Игрок запускает колесо ➡️ ловит множители и выигрыши ➡️ ничего лишнего, только быстрый и динамичный геймплей.


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

INOUT GAMES выпускает хиты, а ZM apps первыми выдают под них прилы.

➡️ Забирай апки в боте ➡️ ZM_apps_bot
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from AffPapa! Клуб спящих бизнесменов! Потрачено!
🤨 Если в августе ты не льешь на Falling Pickaxe — кто-то другой заберет твои 2000$.

PoshFriends × Pixmove запускают жаркий турнир специально для УБТ-комьюнити.

⛏️ В центре внимания — виральная кирка Falling Pickaxe.

Что нужно сделать?

💥 Лить на Falling Pickaxe с 01.08 по 31.08
💥 Сделать 20+ FDT по RevShare 60% на медийном оффере JoyCasino
💥 Ворваться в топ лидерборда и забрать свой приз

🏆 Призовой фонд

🥇 1 место — $2,000
🥈 2 место — $1,000
🥉 3 место — $500
⚔️ 4–10 места — эксклюзивный мерч из коллаборации PoshFriends × Pixmove

Без сложных механик. Без лишних условий.

Только трафик → FD → лидерборд → призы.

📩 Готов залететь? 
Пиши менеджеру - @aleksandr1_poshfriends

Август пролетит быстро. Пока одни думают, другие уже забирают первые строчки лидерборда.

Не оставляй призовой фонд конкурентам. Забирай его себе. 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
В Facebook Ads появился раздел «Conversations»

Facebook Ads добавил Conversations с автоответом на комментарии: по ключевым словам можно сразу отправлять сообщение в личку. Для арбитража это новый способ прогрева и передачи ссылки без клоаки: в креативе можно просить оставить комментарий, а заинтересованных уводить с вайта на блэк уже в ДМ. Идея спорная, но её стоит тестировать.

➡️ Читайте на сайте: https://aff.top/blog/v-facebook-ads-poiavilsia-razdel-conversations

🧠 Ещё больше инсайтов → в канале AFF.top
Миграция данных без простоя: где чаще всего ломают прод и как этого не допустить

Коллеги, давайте разберем план выполнения. Главная ошибка — считать миграцию “просто копированием”. В реальности у вас есть источник, целевая схема, поток изменений и окно, в которое бизнес продолжает писать. Если это не описано заранее, дальше начинаются сюрпризы: рассинхрон, блокировки, долгий откат и звонки в пятницу вечером.

Рабочая схема обычно такая: — сначала полная загрузка в новую структуру; — затем догоняющий поток изменений; — потом валидация контрольных сумм, счетчиков и выборочных выборок; — и только после этого переключение трафика. Посмотрим, что тут с I/O в реальности: если на этапе синхронизации растет лаг, значит вы недооценили объем изменений или не держите темп индексов, триггеров и репликации.

Что проверять до переключения: наличие обратимого плана, время отката, блокировки на DDL/DML, зависимые сервисы и потребителей данных. Отдельно проверьте “тихие” места — очереди, кэши, фоновые джобы, отчеты. Именно они часто держат старую схему дольше, чем сама база.

Золотое правило: сначала мониторинг, потом индексы. Если нет метрик по лагу, ошибкам записи и времени ответов, вы не мигрируете, а надеетесь. А надежда в продакшене — это очень дорогой инструмент.
Сложный SQL не лечится «магией» — сначала разбираем план, потом уже переписываем запрос

Коллеги, давайте разберем план выполнения. У тяжелых запросов почти всегда одни и те же причины: лишний full scan, неверная селективность, неудачный join order, сортировка на диске.

Схема простая, но дьявол кроется в статистике. Сначала смотрим:
• где самый дорогой оператор;
• сколько строк ожидали и сколько получили;
• не тащит ли запрос лишние столбцы и строки до фильтра.

Дальше режем запрос по слоям: убираем подзапросы, которые можно заменить join’ом или CTE только для читаемости; выносим фильтры как можно раньше; проверяем, не ломает ли функция в WHERE использование индекса. Если условие выглядит «удобно», но превращает поиск в скан — это плохое удобство.

Особое внимание — повторяющимся агрегациям, OR по разным полям и неявным преобразованиям типов. Именно они часто делают план нестабильным: на маленьком объеме все летает, на боевом — внезапно начинается I/O-ад. Посмотрим, что тут с I/O в реальности.

Золотое правило: сначала мониторинг, потом индексы. Если после переписывания запрос все еще тяжёлый, только тогда добавляем индекс под конкретный предикат и проверяем, не выросла ли цена записи и блокировок.
Оптимизация сложного SQL: 5 мест, где план обычно теряет время и память

Коллеги, давайте разберем план выполнения. Сложный запрос редко «тормозит вообще» — обычно у него есть 1–2 узких места: лишний проход по большим данным, плохая селективность фильтра или неудачный join. Сначала смотрим не на текст, а на фактический план: где растут rows, где идет sort/hash spill, где появляется nested loop на миллионы строк.

— Упростите фильтры до sargable-формы: без функций по колонке, без неявных преобразований типов.
— Проверьте join-порядок и кардинальность: ошибка в оценке строк часто ломает весь план.
— Уберите лишние CTE/подзапросы, если они заставляют оптимизатор материализовать промежуточный результат.
— Отдельно смотрите на DISTINCT, GROUP BY, ORDER BY: часто именно они съедают память и I/O.
— Индекс полезен только если он совпадает с предикатом и не превращает запись в медленный аттракцион.

Схема простая, но дьявол кроется в статистике. Если статистика устарела или данные сильно перекошены, оптимизатор выбирает красивый на бумаге, но дорогой в реальности путь. Посмотрим, что тут с I/O в реальности: если чтение идет массово, а фильтр отбрасывает почти все строки, индекс или переписанный predicate дадут больше, чем «еще один hint».

В продакшене так лучше не делать, и вот почему: сначала лечим запрос, потом уже спорим с индексами и настройками памяти. Золотое правило: сначала мониторинг, потом индексы.
EXPLAIN ANALYZE не лечит запрос. Он показывает, где больно, если читать его правильно

Коллеги, давайте разберем план выполнения. Главная ошибка — смотреть только на итоговое время и радоваться цифре. Важнее другое: где плану пришлось пройти лишние строки, где сортировка ушла в память, а где — на диск, и какой узел съел основное время.

Сначала ищем разрыв между estimated rows и actual rows. Если оценка ошиблась в разы, оптимизатор строил план на неверной статистике. Дальше смотрим на nested loop, hash join, seq scan, index scan: не «плохой» ли оператор, а оправдан ли он при текущем объеме данных и селективности фильтра.

Посмотрим, что тут с I/O в реальности. Если в плане есть temp read/write, spilled hash, external sort — запрос уперся не в CPU, а в память и параметры работы с буферами. Если один узел показывает 90% времени, а ниже по дереву строки идут быстро, именно он и есть кандидат на переписывание, а не весь запрос целиком.

Золотое правило: сначала мониторинг, потом индексы. Снимите план с анализом, проверьте статистику, сравните с реальной выборкой и только потом трогайте индексы или переписывайте SQL. Иначе легко поставить «идеальный» индекс, который ускорит один запрос и замедлит три других.