Прямо сейчас мы имеем дело с небольшой загадкой в моей корпоративной среде, где нас обвиняют в сбое сервера, но я не уверен на 100%, что мы виновны.Вот серверная среда: у нас есть основная Coldfusion и его база данных MSSQL.Затем у нас также есть вторичная база данных (MySQL), размещенная в другом облаке, которая используется для разных задач.Основная причина, по которой система структурирована таким образом, заключается в том, что основной сервер управляется нашей Системой управления контентом, поэтому нам не разрешено изменять ее, добавлять таблицы или любые подобные операции, поэтому мы используем для этого альтернативную базу данных.По своему дизайну на нем нет критически важных элементов, а страницы построены таким образом, что если альтернативная БД не возвращает строк, страницы будут продолжать правильно отображаться.
По сути, мне говорят, что когдаальтернативный сервер MySQL отключается или прекращает принимать подключения, поскольку он забирает с собой все основное облако, включая 5 других сайтов, размещенных на нем.У меня нет доступа к основным журналам Coldfusion или базы данных, потому что поставщик CMS не даст их мне.Таким образом, я могу судить только по обоснованности объяснения, которое они мне дают.
Объяснение этого поведения, исходящего от нашего поставщика CMS, заключается в том, что когда Coldfusion запрашивает базу данных, он создает поток, и что если БДне отвечает потоки продолжают стек.В конечном счете процессор ограничен, и сервер выходит из строя.Это точное объяснение того, как работает Coldfusion?Если да, есть ли способ предотвратить это, возможно, с более короткими тайм-аутами БД и т. П.?Или все объяснение, представленное нашей CMS, представляет собой красную сельдь, и что-то еще действительно вызывает сбои.
Будем весьма благодарны за любые указания.
Ответ на вопрос - найдены документы http://kb2.adobe.com/cps/180/tn_18061.html http://www.adobe.com/devnet/server_archive/articles/cf_timeouts_and_unresponsive_requests.html
Глобальная настройка запросов времени ожидания не приводит к превышению времени ожидания внутренних процессов, ожидающих на внешних ресурсах (cfquery / cfhttp и т. Д.).Единственный способ отсчитать время ожидания - вручную установить атрибут timeout.Отключение этого параметра может привести к перегрузке потока и поломке сервера, как это происходило у нас.