Перейти к содержимому

Ошибки сервера и базы данных в 1С-Битрикс

Сбои сервера и базы дают 34 вопроса из собранных, и почти все они начинаются одинаково: единственная строка ошибки на белом экране вместо страницы сайта.

Что общего у этих задач

Сообщение приходит с двух разных уровней, и путать их нельзя. «Connect error» означает, что до сервера базы не достучались вовсе. «Query error» означает, что соединение есть, но конкретный запрос отклонён. Первая поломка про сервис и сеть, вторая про данные и структуру таблиц.

Текст ошибки на странице обрезан намеренно. Полный текст с запросом и кодом пишется в лог платформы, и разбор начинают именно с него, а не с того, что видит посетитель на белом экране.

Большинство сбоев базы - это место, память или блокировки, а не порча данных. Переполненный диск и упёршийся в предел пул соединений дают больше обращений, чем настоящие повреждения таблиц.

Решения подтемы

Частые вопросы

Чем connect error отличается от query error?

Первый означает, что до сервера базы не дошли: сервис не запущен, путь к сокету не тот, порт закрыт. Второй - что соединение есть, но конкретный запрос отклонён. Причины и место разбора у них разные.

Где лежит полный текст ошибки базы?

В логе платформы и в логе самой базы. На странице сообщение обрезано намеренно: полный запрос содержит данные, которые нельзя показывать посетителю.

Почему ошибка появляется только под нагрузкой?

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

Что смотреть при коде 502?

Обработчик PHP: 502 отдаёт nginx, когда не дождался ответа от него. База при этом может быть в порядке, а PHP-процессы закончились или упали.

Связанные темы

Первоисточники