<img src="https://habrastorage.org/getpro/habr/upload_files/11f/768/d9d/11f768d9db705416c189ac48bf8dc6e7.jpg" /><p>Меня зовут Стелла. Несколько лет назад — неважно, сколько именно — я работала главным бухгалтером розничной сети, и почти каждый конец месяца я отправлялась на охоту. Не за китом, нет. За временем, которое у меня крали.</p><p>Каждый первый рабочий день нового месяца я приходила в офис затемно, наливала кофе и запускала помощник закрытия. Потом садилась и ждала. Три часа и шесть минут — таков был обычный срок. За это время сервер, стоявший в прохладной комнате этажом ниже, перебирал сорок тысяч документов, как старый библиотекарь, который перечитывает каждую карточку каталога, хотя половину мог бы пропустить. Я не знала этого тогда. Я просто ждала и смотрела, как ползёт прогресс‑бар, медленнее, чем тень от облачного столба пересекает залив в штиль.</p><p>База наша была тяжела — семьдесят гигабайт, одна организация, но поток поступлений по эквайрингу шёл, как Гольфстрим: неутомимо, непрерывно, ежедневно. PostgreSQL под Linux, платформа 8.3.27, оценка МПЗ по ФИФО. Сервер 1С имел четырнадцать ядер, но во время перепроведения работал, по сути, одним. Как галера с сотней гребцов, где весло держит только один, а остальные смотрят на волны.</p><p>Я не раз говорила нашим технарям: три часа — это невыносимо. Закрытие месяца должно быть рутиной, а не одиссеей. Мне отвечали: «База большая, документов много, так работает 1С». Мне хотелось спросить: а почему тогда остальные документы проводятся за доли секунды, а банковские выписки тянутся, как смола в декабре? Но я не умела читать технологические журналы и не знала слов «pg_stat_statements» или «auto_explain». Я просто знала, что где‑то в недрах базы прячется зверь, пожирающий моё время.</p> <a href="https://habr.com/ru/articles/1086516/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1086516#habracut">Читать далее</a>