Как заставить SQL-сервер использовать максимальную пропускную способность сети

Как заставить SQL-сервер использовать максимальную пропускную способность сети

У меня есть программа, написанная на Delphi, которая использует SQL Server 2008 в качестве движка базы данных. Я нахожусь на p2p-ссылке, предоставляемой двумя nano station m5. Когда я запускаю определенный запрос внутри программы, сетевой монитор показывает, что клиент захватывает некоторые данные с сервера со скоростью 8 Мб/с в течение 6 секунд.

Кроме того, когда я подключаю клиент напрямую к серверу через Ethernet-кабель и запускаю тот же запрос, он получает те же данные, но быстрее (Получение этих данных со скоростью 20 МБ/сек всего за 2 секунды) но когда я копирую большой файл с сервера на клиент, он будет копироваться со скоростью до 55 Мб/с.

Меня это беспокоит, потому что из-за этого клиентское приложение работает намного медленнее, чем позволяет реальная пропускная способность сети. Я хочу узнать, есть ли способ заставить SQL-сервер использовать максимальную пропускную способность сети?

Windows Server 2012 R2 и SQL Server 2008, работающие только с включенным сетевым протоколом TCP/IP и полнодуплексным сетевым сервером Core i5 объемом 100 МБ с 8 ГБ DDR 3 и 160 ГБ SSD и гигабитной сетевой картой

решение1

Вы не получите ту же скорость, что и при передаче файла, но, надеюсь, сможете увеличить ее.

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

Также можете ли вы вносить изменения в программу Delphi? Если можете, убедитесь, что она использует пул соединений. (Создание соединения один раз и повторное его использование при необходимости сделать запрос) Само соединение SQL требует около 16 пакетов, пересылаемых друг другу, умножьте это на вашу задержку, и это может сложить. Допустим, у вас задержка 100 мс, тогда соединение может занять 1,6 секунды.

Связанный контент