2013-05-20 8 views
2

Я использую IIS в качестве своего веб-сервера. Я собираюсь использовать этот веб-сервер для получения данных от http-клиента в базе данных Universe. Всякий раз, когда я отправляю запрос на отправку, который имеет более 1 МБ, скорость передачи данных составляет всего около 12 КБ в секунду. Но если данные меньше, чем МБ, то он передает около 800 КБ в секунду.Медленная скорость соединения при загрузке данных более 1 МБ в IIS

Итак, я провел исследование с использованием Apache в качестве веб-сервера, и скорость передачи была почти равна доступной пропускной способности. Так что, хотя IIS является виновником, но я попытался отправить запрос на отправку с использованием curl из php в IIS, и он может переноситься с полной пропускной способностью. Теперь это стало странно, и я не знаю, что делать.

пожалуйста, помогите

+0

Можете ли вы разбить свои данные на куски и загрузить их самостоятельно? Это боль, но это единственный способ обойти дросселирование, которое вы испытываете. –

+0

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

+0

Если у вас есть сервер и/или поддержка сети, обратитесь к ним. Дросселирование может быть простым изменением конфигурации. –

ответ

1

Размер буфера в HTTPClient был настроен неправильно. Размер буфера на httpclient не может быть больше, чем мегабайт. Я не уверен, связана ли проблема с http-клиентом или сервером IIS, потому что httpClient может отправлять данные с большим размером буфера> 1 МБ на сервер Apache.

Решение. Я установил буферизацию меньше, чем МБ, и теперь он работает хорошо.