Windows 2008 R2 WDS

Мое предположение - то, что у Вас есть некоторые длительные запросы в Вашем приложении. Когда они выполняются, они заставляют соединение оставаться выехавшим пул в течение долгого времени (относительно обычного шаблона использования), это заставляет Ваше объединение становиться исчерпанным, расти и продолжать расти к ее максимуму, в который точка любой остающийся блок рабочих, ожидающий на соединениях, которые будут выпущены.

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

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

Если можно поймать базу данных, когда при загрузке, необходимо выполнить следующие команды на mysql сервере

show innodb status;
show processlist;

Первый распечатает диагностическую информацию о innodb механизме (Вы используете innodb право?), последний распечатает первую несколько сотен символов запроса, который выполнялся. Ищите запросы, которые работали в течение долгого времени, запросы, генерирующие временные таблицы на диске и запросы, которые заблокированы на ресурсе.

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

Я рекомендую иметь эти три настройки в Вашем /etc/my.cnf

log_slow_queries
log-queries-not-using-indexes
set-variable = long_query_time=1

Для веб-приложения, делающего 20-30 запросов в секунду, Вы не можете позволить себе иметь что-либо, обнаруживаются в этих журналах.

btw, по моему скромному мнению, его бессмысленное для увеличения размера пула соединения вне первоначального размера, поскольку это только задержит начало исчерпания пула в лучшем случае несколько секунд, и только окажет больше давления на право дб, когда этому не будет нужен он.

1
задан 9 September 2009 в 02:00
4 ответа

Если у Вас есть DNS и работа WDS того же поля, патч из-за прошлого лета (патч использования DNS) может заставить это происходить. Фиксация для этого находится на блоге Johan Arwidmark. Надежда, которая помогает.Удачи.

5
ответ дан 3 December 2019 в 17:00

Это может быть вызвано патчем DNS, но фиксация в блоге Johan Arwidmark не довольно корректна. Патч DNS заставляет процесс DNS связывать с 2 500 случайными портами, когда сервис запускается, который имеет маленький шанс наложения с диапазоном портов WDS.

Для фиксации этого необходимо увеличить размер диапазона портов для WDS к чему-то большему затем 2 500 портов, чтобы удостовериться, что это будет работать.

0
ответ дан 3 December 2019 в 17:00

Статья (блог) обновляется для отражения новых параметров конфигурации в Windows Server 2008 R2, а также explaination к проблеме и обновленным инструкциям для Windows Server 2003 и Windows Server 2008.

http://www.deployvista.com/Default.aspx?tabid=70&EntryID=66

Отношения / Johan Arwidmark

0
ответ дан 3 December 2019 в 17:00

У меня была та же проблема о нашем Windows 2008 R2 Server. Фиксация от Johan Arwidmark Blog работала. Я изменил диапазон с 64001 - 65000 до 60000 - 65000

1
ответ дан 3 December 2019 в 17:00

Теги

Похожие вопросы