Главная · Услуги и цены

Пример отчёта о диагностике

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

9 900 ₽ одна система · 4 рабочих часа после получения данных · причина не найдена — возврат оплаты

Часть 1. Страница для руководителя

Что случилось

Каждое утро с 9:00 до 9:40 программа 1С работает очень медленно: документы открываются по минуте, часть сотрудников не может начать работу.

Причина

Резервная копия базы запускается в 9:00, одновременно с началом рабочего дня, и занимает диск сервера целиком. Её настраивали на 6 утра, но часы сервера идут по всемирному времени, а не по московскому, поэтому на деле она стартует на три часа позже.

Что ещё обнаружено

Что делать

Перенести копирование на ночь, настроить удаление старых копий и хранение на отдельном сервере, проверить восстановление. Работы занимают около трёх часов и не требуют остановки 1С в рабочее время.

Устранение по плану нижеразмер S; оплаченная диагностика входит в эту сумму
14 900 ₽
К доплате
5 000 ₽

План подробный: выполнить его может и ваш специалист. Заказывать устранение у меня не обязательно.

Часть 2. Страница для инженера

Система

Сервер srv-1: Ubuntu 22.04, PostgreSQL 14, база 1С buh 38 ГБ, один диск 200 ГБ под систему, данные и копии.

Доказательства

1. Задание копирования и часовой пояс сервера:

$ sudo crontab -u postgres -l
0 6 * * 1-5 pg_dump -Fc buh > /var/backups/pg/buh_$(date +\%F).dump

$ timedatectl | grep "Time zone"
                Time zone: Etc/UTC (UTC, +0000)

6:00 по UTC — это 9:00 по Москве.

2. Нагрузка на диск в окне сбоя (9:05 МСК) и вне его (11:00 МСК):

$ iostat -dx 5 sda
Device   r/s     w/s    r_await  w_await  %util
sda      412.0   388.6  96.4     181.2    99.8     # 09:05
sda      21.4    35.0   1.9      3.2      7.5      # 11:00

3. В это же время запросы 1С ждут диска, блокировок между ними нет:

buh=# SELECT wait_event_type, wait_event, count(*)
      FROM pg_stat_activity WHERE state = 'active' GROUP BY 1, 2;
 wait_event_type |  wait_event  | count
-----------------+--------------+-------
 IO              | DataFileRead |    17
                 |              |     2

4. Место на диске и накопленные копии:

$ df -h /
Filesystem  Size  Used  Avail  Use%  Mounted on
/dev/sda2   197G  179G   18G    91%  /

$ ls /var/backups/pg | wc -l
13
$ du -sh /var/backups/pg
141G    /var/backups/pg

Каждая копия занимает около 11 ГБ, свободно 18 ГБ.

Что проверено и исключено

ГипотезаЧто провереноВывод
Не хватает памятиfree, журнал ядра: подкачка не используется, срабатываний OOM Killer нетисключено
Не хватает процессораsar -u: в окне сбоя процессор ждёт диск (iowait 60%), вычислениями не занятследствие, не причина
Блокировки в базеpg_locks: ожидающих блокировок нетисключено
Раздутые таблицыpg_stat_user_tables: автоочистка отрабатывает, доля мёртвых строк до 6%исключено
Неисправность дискаsmartctl: переназначенных секторов нет, ошибок чтения нетисключено
СетьЗадержка от рабочих мест до сервера в окне сбоя 1–2 мс, потерь нетисключено

Риски

РискСрокПоследствие
Закончится место на диске1–2 рабочих дняPostgreSQL остановится, 1С недоступна
Отказ единственного дисканепредсказуемопотеря базы вместе со всеми копиями
Копия окажется непригоднойвыяснится при авариивосстановление невозможно

План устранения

  1. Сегодня: удалить копии старше семи дней, освободить около 65 ГБ.
  2. Перенести задание на 00:00 UTC (3:00 МСК), добавить удаление копий старше семи дней.
  3. Настроить ежедневную передачу копии на отдельный сервер или в хранилище.
  4. Восстановить последнюю копию на отдельном сервере, сверить число документов с рабочей базой.
  5. Добавить оповещения: место на диске меньше 20%, копия не создана, копия не передана.
  6. На следующее утро убедиться, что 1С в 9:00 работает в обычном темпе.

Оценка: три часа работ, размер S. Рабочая база в рабочее время не останавливается.

Нужен такой же отчёт по вашей системе?

Расскажите, что происходит. На бесплатном разборе решим, браться ли и с чего начать.

Звонки: пн–пт, 10:00–19:00 МСК. Написать можно в любое время.