Я смиренно отношусь к вам как к человеку, который НЕ является администратором баз данных, и я уверен, что мой вопрос чреват концептуальными недостатками и «зависит от» наземных мин. Я также уверен, что все, кто решит ответить, захотят гораздо большего в плане специфики, чем я могу предоставить в настоящее время.
Тем не менее, мне любопытно о следующем сценарии в целом:
- Скажи, что у меня есть два нетривиальных запроса.
- Запрос в среднем занимает 2 минуты.
- Запрос 2 требует в среднем 5 минут.
Если я запускаю их последовательно, один за другим, я ожидаю, что в среднем потребуется 7 минут. Это разумно?
Более того, что делать, если я запускаю два запроса одновременно? Два отдельных соединения одновременно.
- При каких условиях я ожидаю увидеть ускорение? (Общее время <7 минут)
- При каких условиях я ожидаю увидеть замедление? (Общее время> 7 минут)
Теперь, если бы у меня было 1000 нетривиальных запросов, выполняемых одновременно, у меня есть догадка, что это приведет к общему замедлению. В таком случае, где может быть узкое место? Процессор? БАРАН? Приводы?
Опять же, я знаю, что, вероятно, невозможно точно ответить на вопрос, не зная специфики (которой у меня нет). Я ищу некоторые общие рекомендации, о которых нужно подумать, задавая следующие вопросы:
- При каких обстоятельствах одновременные запросы приводят к общему ускорению?
- При каких обстоятельствах одновременные запросы приводят к общему замедлению?
источник