Действительно ли приемлемо сохранить соединение дб открытым для жизни страницы?

Вы должны удалить ", чтобы работать.

docker exec -ti $(docker container ps -f name=mycontainername -q) sh

Но зачем тебе это? Вы можете запустить:
docker exec -ti mycontainername sh

5
задан John MacIntyre 19 November 2008 в 15:04
поделиться

10 ответов

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

1
ответ дан 18 December 2019 в 07:57
поделиться

Что, если Вы разбиваете на страницы катастрофические отказы прежде, чем достигнуть Страницы. Событие Unload? У Вас будет открытое соединение. Для меня лучше всегда закрыть соединение как можно скорее.

3
ответ дан 18 December 2019 в 07:57
поделиться

Нет, это не в порядке.

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

7
ответ дан 18 December 2019 в 07:57
поделиться

катастрофические отказы страницы? это - то, для чего наконец использование и

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

* мне сказал это наставник рано в моей карьере, я должен сказать, что на самом деле не протестировал это сам, но это звучит правильным теоретически

1
ответ дан 18 December 2019 в 07:57
поделиться

Да, это в порядке.

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

2
ответ дан 18 December 2019 в 07:57
поделиться

Каждое достойное приложение ASP.NET использует организацию пула подключений в наше время, и пул является в основном набором открытых соединений. В Вашем случае, который означал бы, что соединение Вы держитесь, "занят" и не может использоваться для обслуживания других запросов.

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

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

2
ответ дан 18 December 2019 в 07:57
поделиться

Конечно, можно сохранить их открытыми, но нет нет. Закройте его после использования в наконец блоках. Справедливая торговля прочь от "после каждого использования" должна закрыть его после каждого блока использования, если Вы склонны выполнить сохраненный proc, обновить столбец, затем удалить некоторую другую строку, Вы могли открыться/закрыть вокруг тех трех операций, предположив, что они все перенесены в попытку/выгоду/наконец.

1
ответ дан 18 December 2019 в 07:57
поделиться

Вы обязательно должны поддерживать соединение на протяжении всего времени существования страницы, если вы делаете несколько запросов во время него. Как правило, на самом деле соединения повторно используются на многих страницах.

1
ответ дан 18 December 2019 в 07:57
поделиться

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

В будущем вы определенно захотите уйти. из доступа к данным в вашем коде программной части.

1
ответ дан 18 December 2019 в 07:57
поделиться

Я считаю удобным поддерживать соединение открытым при использовании ORM ( Открыть сеанс в представлении ), чтобы после первоначальной активной выборки другие данные можно было лениво загружать по мере необходимости.

1
ответ дан 18 December 2019 в 07:57
поделиться
Другие вопросы по тегам:

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