PigProxy 1.36b
TrafC
Какое-то время назад началось сильное падение скорости на прокси. В настройках скорость нигде не ограничивалась, но на всякий случай отключил TrafC — не изменилось ничего.
Показания по скорости следующие:
- на самом прокси сервере без прокси — 50 мегабит;
- на самом прокси сервере через прокси — 22 мегабит;
- клиент через прокси — 0.6-0.9 мегабита (и так у всех клиентов, но через тот же download master — скорость умножается на количество потоков).
Что проверить, какие настройки смотреть ?
0.6 мегабит — это значит порядка 60КбАйт/сек? Попробуйте поотключать файловые plugin'ы — кэш, логи. Включить ini cache, auth cache (авторизация используется?). В общем минимизировать дисковую активность — изменится ли что-то?
Кэш и логи отключил уже — без изменений.
Авторизация используется, кэширование ini и auth используется.
Такое впечатление, что скорость принудительно "режется" до 60-80Кбайт прокси-сервером.
Результат всё тот же.
"Поигрался" этим параметром — +-0.1, ситуацию не исправило.
Как может быть, что с самого сервера через прокси — почти нормально. А с клиента — такое падение. Как сервер, так и клиент — следуют одним и тем же правилам и настройкам.
ред: 25.01.2011 23:29
У вас ведь домен, если я правильно понимаю. Попробуйте на прокси посмотреть параметры безопасности любой папки — там главное выйти на получение списка пользователей домена (через "Добавить" хотя бы). Не тормозит? Аналогично на клиентах. И на клиентах попытаться померять локальную скорость обмена данными с прокси. Опять же посмотреть получение доменно-зависимой информации.
Информация к размышлению: в ЛЭНКе летом случилось непонятное, на прокси странным образом стало тормозить получение данных по локальной сети. Две идентичные встроенные сетевые карты, одна смотрит в интернет без подключения клиентов и служб MS, только голый TCP/IP, вторая смотрит в локальную сеть, подключены, соответственно, все необходимые MS-сервисы, и ещё домен. Клиент через прокси с отключённым каскадированием получает всё со свистом. Каскадный прокси (на базе Eproxy) тоже всё получает из интернета со свистом; для проверки туда поставили 3proxy — через него всё летает. А вот получить через каскад на главный прокси — тормоза. И список пользователей домена добывается главным прокси жутко долго. Зверей искал, не увидел. Вообще ничего лишнего не увидел в сетевых обработчиках. Windows 2000 там стоит. Без меня на него только пачку обновлений за полтора года поставили, но страшное случилось несколько позже этого.
P.S. 1.36b — это не бета, это третий после беты релиз (второе исправление багов). То есть, всё, что появилось в бетах, там есть.
А перезапускали при этом Eproxy? Если ситуацию не улучшает, то хотя бы ухудшить должно было . Если при маленьком размере пакета (500, допустим) скорость не падает дальше, то это подозрительно. Оптимальный размер этого PacketSize на разных машинах/сетях/ОС разный — обычно 24000, 32000, 65000.
При разный размерах пакета скорость колеблется незначительно +-0.1. Даже при 500-байтном пакете.
Список пользователей EProxy получает из списков MD5.
Списки пользователей на закладке "безопасность" получается без малейших задержек.
Просто скорость связи клиента с сервером по локалке — 30-50Мегабит.
Попробовал отключать/включать каскадирование прокси — без изменений.
Даже не представляю куда "копать".
Тот же клиент на выходе в Интернет минуя прокси — 50мегабит.
Сам сервер через свой же прокси 20мегабит.
На прокси-сервере ничего не установлено фильтруещего трафик. Стоит только снифер WireShark. На клиентах установлен Symantec Endpoint Protection 11.
Попробовал качнуть большой файл с acWEB:
ред: 26.01.2011 15:30
Сеть построена на сетевом оборудовании Nortel (24 и 48 портовые управляемые 100Мб).
Включаем прокси и клиента в Nortel — скорость те же 0.6-0.9 мегабита.
Теперь между Nortel и клиентом с прокси-сервером ставлю простейший Cisco (1Gb неуправляемый 16 портов), получается что клиент и прокси-сервер включены в Cisco. А сам Cisco включен в Nortel. И скорость выдаётся по полной — 50мегабит.
Переговорил с сетевиками — говорят с сетью порядок. И я им верю, с другим программным обеспечением проблем нет. Что-то именно в связке Nortel+EProxy.
Вот о чём договаривается EProxy c Cisco, и не может договориться с Nortel ?
Обнаружил ещё нюанс, при вышеописанных манипуляциях повышение скорости происходит только у клиентов Windows Vista (пара клиентов). У клиентов Windows XP остаётся без изменений (все компьютеры).
Получается ещё зависимость от операционной системы клиента.
Он тоже может как-то влиять, кстати, т.к. тоже на пакетном уровне работает.
IMHO, если свичи управляемые, то, наверное, и какую-то статистику с них можно снять. И ещё имеет смысл спросить у сетевиков, не меняли ли они что-то в настройках свичей. Какие конкретно модели? А то я на их сайте сразу запутался. Навскидку — очень там всё навороченное, с функциями шейпинга протоколов высокого уровня.
Проверяю:
А если запустить его на порту вместо Eproxy?
На нижний уровень у Eproxy никакого влияния нет кроме как изменение размера пакета (точнее порции данных для отправки по TCP), но это вы уже испытали.
Заодно хочу "поиграться" параметрами (сейчас привёл их в исходное состояние":
UsePerformanceTuning=0
PacketSize=65000
MappingBufferSize=1600
ListenQLen=1000
Эти параметры в разделе [Proxy] находятся, так какие выставить им значения, чтобы приблизить к параметрам 3dproxy ?
И, если уж все равно взялись за тестирование, то испытайте и PigProxy/2, и Eproxy/4. За два года много воды утекло...
ред: 26.01.2011 21:15
Перезапускал потом EProxy с разными значениями PacketSize — ну нет никаких изменений — те же 0.6 мегабита.
Попробывал изменять PacketSize и для acWEB — без изменений.
В обоих случаях естественно выставлял UsePerformanceTuning=1.
Или давайте я завтра напишу спец.программу, которую можно ставить на двух компьютерах, и, не мешая нормальной работе пользователей, тестировать скорость с разными настройками.
PigProxy/2 пытался пару раз установить — но не переносилась конфигурация, даже поднял вирт.сервер для экспериментов, но пока из-за нехватки времени забросил
Потестировать всегда можно.
Параллельно думаю, поднять на этом сервере чистую инсталляцию в отдельной папке и попробовать на ней. Может в настройках что намудрено у меня
Запускать так:
Т.е. например так:
NPTest.exe SERVER 5555
NPTest.exe CLIENT 192.168.0.1 5555 65000 2
Или клиентом может быть браузер, тогда таким URL'ом http://192.168.0.1:5555/65000/2
Сервер отдает самого себя (в качестве случайного буфера), суммарным объёмом 1Гб. Размер буфера (порция данных) ограничена 130Кб.
Параметр "задержка_в_миллисекундах" — сколько ms ожидать между отправками порций данных (для справки: в текущей версии Eproxy это по умолчанию 4ms, задается параметром WriteSocketRetryDelay (там асинхронная передача); в старых версиях Eproxy, вышедших до 2008г, этого параметра не было).
Попробую ещё со значениями поэкспериментировать, и с тестом тоже посмотрю.