Задержка HttpWebRequest GetResponse в Windows на 64 бита

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

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

Поэтому, если Вы думаете о нем как SQL-оператор

SELECT SUM(salary)
FROM employees
WHERE salary > 1000
GROUP by deptname

, Мы можем использовать карта для получения нашего подмножества сотрудников с зарплатой> 1000, который карта испускает к барьеру в блоки размера группы.

Уменьшают , суммирует каждую из тех групп. Предоставление Вам Ваш набор результатов.

просто щипнул это от моего университет примечания исследования к документу Google

15
задан ignorantfool 9 November 2009 в 06:51
поделиться

5 ответов

Можете ли вы убедиться, что

<system.net><settings><servicePointManager useNagleAlgorithm="false"/>

и повторить попытку?

Если это все еще не удается, есть ли заголовок длины содержимого? Одно и то же значение в обоих случаях? И последнее, но не менее важное: есть ли в ответе лишние байты? Да, и вы должны включить строку:

//Console.WriteLine (readStream.ReadToEnd ());

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

1
ответ дан 1 December 2019 в 03:52
поделиться

Также в этой ситуации может быть полезен следующий MS KB. http://support.microsoft.com/kb/823764

[ОБНОВЛЕНИЕ 02.09.10]

Продолжая мой комментарий выше, вы должны провести этот тест на той же машине. Как я уже упоминал, я бы запустил 32-битный исполняемый файл на 64-битной машине и посмотрел, какие измерения я получу.

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

Итак, сначала я бы сделал сравнение яблок с яблоками между 32-битным и 64-битным приложением, работающим на одной и той же 64-битной машине. Это покажет, связана ли проблема с конфигурацией машины или чем-то еще.

0
ответ дан 1 December 2019 в 03:52
поделиться

HttpWebRequest и HttpWebResponse оба реализуют IDisposable , но я не вижу, чтобы вы избавлялись от этих объектов. Я действительно вижу, как вы закрываете поток ответов и ответов, но по моему опыту, если вы не избавитесь от всех этих объектов, вы можете получить очень длительные задержки, которые в противном случае кажутся случайными.

-3
ответ дан 1 December 2019 в 03:52
поделиться

Большинство ключей реестра, расположенные по адресу:

HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ Centreversion \ Explorer \ Shell Папки

начались с % UserProfile% . Я обновил все ключевые ключи реестра, которые начались с % UserProfile% , чтобы начать с C: \ пользователей \ myusername . Я проверил на Windows XP, что пути на самом деле жестко закодированы и что % UserProfile% не используется. ИТ-ребята упомянул, что ключи реестра Default используются для использования % UserProfile% из-за профиля по умолчанию, используемого в Windows 7., JVM ожидает, что путь рабочего стола для жесткого кодирования. Он не оценивает переменные среды.

Вы можете обновить ключи реестра один за другим или вы сможете экспортировать папку и изменить клавиши. Вот как вы можете экспортировать и импортировать ключи реестра:

  1. Перейти к запуску> запустить.
  2. Тип Regedit . Это открывает редактор реестра.
  3. Обзор HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Shell Folders .
  4. Щелкните правой кнопкой мыши на папках оболочки и выберите экспорт.
  5. Выберите рабочее стоп в качестве пункта назначения и введите папки для имени файла и сохраните файл.
  6. Откройте файл в текстовом редакторе и замените % UserProfile% с C: \\ пользователями \\ yourusername . Сохраните и закройте файл.
  7. Вернитесь к окну Редактора реестра и выберите «Файл»> «Импорт из главного меню».
  8. Выберите Папки оболочки .reg и нажмите Открыть.
  9. Закройте редактор реестра и удалите папки оболочки . Регистрация файл от рабочего стола.
-121--1302238-

Просто для тех, кто поставляется на этой теме и имеет проблемы.

Причина задержки на 64-битных системах является WebClient ждать Windows для возврата значения прокси.

Напишите свой код, чтобы преодолеть этот вопрос.

WebClient wc = New WebClient;
wc.Proxy = null;

Это устранит задержку, замеченную некоторыми пользователями (включая себя :))

Рад, что я, наконец, мог вернуть что-то обратно в сообщество, которое помогло мне так много:)

16
ответ дан 1 December 2019 в 03:52
поделиться

попробуйте установить для параметра keep alive значение false ( request.KeepAlive = false; )

0
ответ дан 1 December 2019 в 03:52
поделиться
Другие вопросы по тегам:

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