В чем опасность простого увеличения пула соединений? - PullRequest
0 голосов
/ 26 августа 2010

Я провожу тестирование производительности на сервере Apache и получаю страшное сообщение: «Пул контекста исчерпан! Дун Дун Дун». (драматический акцент добавлен)

Текущее предложение разработчиков - просто увеличить размер пула соединений. Хотя это может быть правдой, в моей голове раздаются маленькие колокольчики, говорящие: «Ну, это слишком просто - наверняка есть и недостатки», и я спрашиваю сообщество, какие могут быть некоторые из них.

Я бы хотел сделать это как можно более общим, чтобы оно могло быть наиболее полезным для большинства людей.

1 Ответ

0 голосов
/ 26 августа 2010

Предупреждение: сообщение о ностальгии.

Много лет назад я работал в среде мэйнфреймов.Моя работа заключалась в том, чтобы запускать специальные SQL-отчеты для оценки эффективности рождественских рекламных кампаний.«Как продвигается строка X против строки Y, за последние Z недель, против тех же недель прошлого года» ... и тому подобное.

Это было захватывающе: специальные запросы непосредственно к действующей базе данныхмаркетинговые решения, принимаемые в течение дня, основанные на утренних вопросах из отдела закупок.Не допускаются никакие ошибки SQL, нет тестирования, нет среды разработки, это было правильно с первого раза, или ничего.

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

Я вернулся, компания в хаосе.Вся система заказов вышла из строя, время истекло, никто не узнал почему.

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

Это был мой отчет.Это заняло тонну процессора.Это длилось долго.Все остальное длилось чуть дольше.Таким образом, в пуле соединений закончились соединения, и все остальное на некоторое время умерло.

Мой запрос завершен.Это дало правильные результаты.Отдел закупок был счастлив, так как они могли принять правильные решения на следующий день.Приказы снова начали спасаться, и угадайте, что ...

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

Если здесь есть мораль, это так:

Нет единственного правильного ответана этот вопрос.

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

Но это может и не бытьи завтра может быть другая проблема.

...