hard: Xeon E5-2420v2 2.20GHz, 120Gb SSD, 8Gb RAM
soft: Ubuntu Server 14.04.1 x86, PostgreSQL 9.1 (1С), 1С 8.2.19.116
Ребята, понимаю, что вас всех уже заколебали мутанты, избравшие данную СУБД в качестве основы для 1С, но я уже реально не знаю, куда мне ещё обратиться.Есть десяток почти пустых баз данных (каждая примерно по 1-2 гигабайта) и пяток пользователей. Как водится, все базы работают нормально, но в семье не без урода - одна база хронически выпендривается. Содержание файла "/var/log/postgresql/postgresql-9.1-main.log" с момента включения под катом:
+ |
2015-02-17 06:01:05 MSCT ОТМЕТКА: загружена библиотека "online_analyze" 2015-02-17 06:01:05 MSCT ОТМЕТКА: загружена библиотека "plantuner" 2015-02-17 06:01:18 MSCT ОТМЕТКА: система БД была выключена: 2015-02-17 06:00:08 MSCT 2015-02-17 06:01:18 MSCT ВАЖНО: система баз данных запускается 2015-02-17 06:01:18 MSCT ОТМЕТКА: неполный стартовый пакет 2015-02-17 06:01:19 MSCT ОТМЕТКА: система БД готова принимать подключения 2015-02-17 06:01:19 MSCT ОТМЕТКА: процесс запуска автоочистки создан 2015-02-17 10:42:09 MSCT ОТМЕТКА: автоматическая очистка таблицы "MYDATABASE.pg_catalog.pg_class": получить исключительную блокировку для сканирования отсекаемых страниц не удалось 2015-02-17 14:05:10 MSCT ОТМЕТКА: автоматическая очистка таблицы "MYDATABASE.pg_catalog.pg_class": получить исключительную блокировку для сканирования отсекаемых страниц не удалось 2015-02-17 15:38:10 MSCT ОТМЕТКА: автоматическая очистка таблицы "MYDATABASE.pg_catalog.pg_class": получить исключительную блокировку для сканирования отсекаемых страниц не удалось 2015-02-17 15:41:47 MSCT ERROR: deadlock detected 2015-02-17 15:41:47 MSCT DETAIL: Process 27234 waits for ApplicationExclusiveLock on relation 2473436 of database 16949; blocked by process 3159. Process 3159 waits for ApplicationShareLock on relation 2460543 of database 16949; blocked by process 27234. Process 27234: SET STATEMENT_TIMEOUT TO 20000; LOCK _DocumentJournal3961 IN APPLICATION EXCLUSIVE MODE; SET STATEMENT_TIMEOUT TO DEFAULT; Process 3159: SET STATEMENT_TIMEOUT TO 20000; LOCK _AccRg5313 IN APPLICATION SHARE MODE; LOCK _AccRg5339 IN APPLICATION SHARE MODE; LOCK _AccumRg5101 IN APPLICATION SHARE MODE; LOCK _AccumRg5112 IN APPLICATION SHARE MODE; LOCK _AccumRg5133 IN APPLICATION SHARE MODE; LOCK _InfoRg4641 IN APPLICATION SHARE MODE; LOCK _InfoRg4682 IN APPLICATION SHARE MODE; SET STATEMENT_TIMEOUT TO DEFAULT; 2015-02-17 15:41:47 MSCT HINT: See server log for query details. 2015-02-17 15:41:47 MSCT STATEMENT: SET STATEMENT_TIMEOUT TO 20000; LOCK _DocumentJournal3961 IN APPLICATION EXCLUSIVE MODE; SET STATEMENT_TIMEOUT TO DEFAULT; 2015-02-17 15:42:32 MSCT ERROR: deadlock detected 2015-02-17 15:42:32 MSCT DETAIL: Process 3159 waits for ApplicationShareLock on relation 2460543 of database 16949; blocked by process 27234. Process 27234 waits for ApplicationExclusiveLock on relation 2473436 of database 16949; blocked by process 3159. Process 3159: SET STATEMENT_TIMEOUT TO 20000; LOCK _AccRg5313 IN APPLICATION SHARE MODE; LOCK _AccRg5339 IN APPLICATION SHARE MODE; LOCK _AccumRg5101 IN APPLICATION SHARE MODE; LOCK _AccumRg5112 IN APPLICATION SHARE MODE; LOCK _AccumRg5133 IN APPLICATION SHARE MODE; LOCK _InfoRg4641 IN APPLICATION SHARE MODE; LOCK _InfoRg4682 IN APPLICATION SHARE MODE; SET STATEMENT_TIMEOUT TO DEFAULT; Process 27234: SET STATEMENT_TIMEOUT TO 20000; LOCK _DocumentJournal3961 IN APPLICATION EXCLUSIVE MODE; SET STATEMENT_TIMEOUT TO DEFAULT; 2015-02-17 15:42:32 MSCT HINT: See server log for query details. 2015-02-17 15:42:32 MSCT STATEMENT: SET STATEMENT_TIMEOUT TO 20000; LOCK _AccRg5313 IN APPLICATION SHARE MODE; LOCK _AccRg5339 IN APPLICATION SHARE MODE; LOCK _AccumRg5101 IN APPLICATION SHARE MODE; LOCK _AccumRg5112 IN APPLICATION SHARE MODE; LOCK _AccumRg5133 IN APPLICATION SHARE MODE; LOCK _InfoRg4641 IN APPLICATION SHARE MODE; LOCK _InfoRg4682 IN APPLICATION SHARE MODE; SET STATEMENT_TIMEOUT TO DEFAULT; 2015-02-17 15:42:39 MSCT ERROR: deadlock detected 2015-02-17 15:42:39 MSCT DETAIL: Process 3159 waits for ApplicationShareLock on relation 2460473 of database 16949; blocked by process 27234. Process 27234 waits for ApplicationExclusiveLock on relation 2460543 of database 16949; blocked by process 3159. Process 3159: SET STATEMENT_TIMEOUT TO 20000; LOCK _AccRg5313 IN APPLICATION SHARE MODE; LOCK _AccRg5339 IN APPLICATION SHARE MODE; LOCK _AccumRg5101 IN APPLICATION SHARE MODE; LOCK _AccumRg5112 IN APPLICATION SHARE MODE; LOCK _AccumRg5133 IN APPLICATION SHARE MODE; LOCK _InfoRg4641 IN APPLICATION SHARE MODE; LOCK _InfoRg4682 IN APPLICATION SHARE MODE; SET STATEMENT_TIMEOUT TO DEFAULT; Process 27234: SET STATEMENT_TIMEOUT TO 20000; LOCK _AccRg5313 IN APPLICATION EXCLUSIVE MODE; SET STATEMENT_TIMEOUT TO DEFAULT; 2015-02-17 15:42:39 MSCT HINT: See server log for query details. 2015-02-17 15:42:39 MSCT STATEMENT: SET STATEMENT_TIMEOUT TO 20000; LOCK _AccRg5313 IN APPLICATION SHARE MODE; LOCK _AccRg5339 IN APPLICATION SHARE MODE; LOCK _AccumRg5101 IN APPLICATION SHARE MODE; LOCK _AccumRg5112 IN APPLICATION SHARE MODE; LOCK _AccumRg5133 IN APPLICATION SHARE MODE; LOCK _InfoRg4641 IN APPLICATION SHARE MODE; LOCK _InfoRg4682 IN APPLICATION SHARE MODE; SET STATEMENT_TIMEOUT TO DEFAULT; 2015-02-17 15:45:13 MSCT ОТМЕТКА: автоматическая очистка таблицы "MYDATABASE.pg_catalog.pg_class": получить исключительную блокировку для сканирования отсекаемых страниц не удалось 2015-02-17 15:46:13 MSCT ОТМЕТКА: автоматическая очистка таблицы "MYDATABASE.pg_catalog.pg_class": получить исключительную блокировку для сканирования отсекаемых страниц не удалось |
Брыкается, напомню, только одна база. Все остальные работают прекрасно. В реальности же выпендрёж "MYDATABASE" выглядит так: пара пользователей, работающих именно с этой конкретной базой, начинают почти одновременно жаловаться на "дикие тормоза". Т.е. то, что ещё час-полтора-два назад выполнялось за считанные секунды, теперь начинает отнимать целые минуты. Какие-то проводки, списания, и прочее (я в этом не силён). Спустя полчаса-час жалобы прекращаются и работа возобновляется (остальные пользователи, работающие в это самое время с остальными базами, о проблемах этой парочки даже не в курсе - у них самих остальные базы шуршат отлично и без тормозов). Каждый день жалобы в разное время: то утром, то днём, то вечером. Системы какой-то не наблюдается. Содержание указанного выше лога за каждый день примерно одинаковое, с небольшой разницей по времени. Свободных вычислительных ресурсов, как вы понимаете, - вагон, такой сервер ещё грузить и грузить можно. Т.е. проблема явно не в "узком горлышке" каких-либо комплектующих. Уже склоняюсь к тому, чтобы звать программиста (проблема ведь с одной-единственной базой, остальные же работают и в логи не гадят), но мне прежде, чем вызывать слесаря по 1С, хотелось бы убедиться, что проблема 100% в 1С. Возможно ли это диагностировать с такой точностью? А то придёт слесарь, посмотрит, развернётся и уйдёт, хмыкнув маты себе под нос. Не хотелось бы с умным человеком ссориться из-за собственной некомпетентности.