Мощнее ПК => хуже результаты?

Nord

Client
Регистрация
22.03.2012
Сообщения
2 406
Благодарностей
1 473
Баллы
113
ZP на Win10x64, i9-10900, 64Gb, подключение 1000mb/s.

На машине крутится элементарнейший безбраузерный шаблон на 4 кубика. Взяли строку - послали запрос, проверили ответ и если ОК, то сохранили.

Но при запуске в 100 потоков и больше начинаются приколы- в обычном браузере и в ПМ перестают загружаться сайты, "проверьте DNS и параметры подключения" и тому подобные сообщения, шаблоны, которые работают параллельно - крашатся, так как у них пропадает связь с миром =)

К слову, этот же шаблон в 1000 потоков хоть и со скрипом но работал на 10и летнем ПК в Вин10 и 8Гб и слабым процом и сетевухой на 100 мб/с. Параллельно работал браузер, которому всего хватало.

Такое ощущение, что на новом ПК есть какое то ограничение на количество одновременных соединений, но сколько не гуглил - способы от внесения настроек в роутер до отключения антивиря - не то.

Есть идеи, как это можно исправить или хотя бы в какую сторону копать?
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 787
Благодарностей
2 453
Баллы
113
На старом ПК был HDD.
Чтение и запись на него производилась с задержкой.
Из-за чего, интернет соединения успевали закрываться (имели время на это).

Когда компьютер стал круче - в результате скорость записи строчки увеличилась - задержки в этом плане пропали.
А уже как следствие - перестал справляться интернет.

Временное решение проблемы - добавить паузы.
Или купить хороший роутер.
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113
  • Спасибо
Реакции: Nord

Nord

Client
Регистрация
22.03.2012
Сообщения
2 406
Благодарностей
1 473
Баллы
113
ZP - 7.3.0.0
На обоих ПК - ssd( хотя на старом - старый и убитый).
На счет пауз - проверю
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113
элементарнейший безбраузерный шаблон
на всякий случай, а в настройках браузер отключен?

у меня траблы только с браузерными шабами при увеличении поточности
 
  • Спасибо
Реакции: Nord

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 787
Благодарностей
2 453
Баллы
113
ZP - 7.3.0.0
На обоих ПК - ssd( хотя на старом - старый и убитый).
На счет пауз - проверю
У меня подобная шляпа была когда с HDD перешел на SSD.
Второй раз такая проблема была когда пулл потоков включился после установки новой версии Зенно.
Решения применяемые мною описаны ниже.

Ещё можно добавить заголовки запросов чтобы соединение не разрывалось и использовалось повторно:
Connection: keep-alive
Либо поставить чтобы закрывались соединения:
Connection: close

Что именно в Вашем случае лучше - мне не известно. Второй заголовок нужен например чтобы разгрузить занятые потоки на проксях, которые продают с ограниченным количеством одновременных соединений.
Первый нужен чтобы работать с бингом, гуглом, deep-переводчиком, чтобы не разрывать соединения и не получать 429 ошибку.

Запустите в двух вариантах - отпишитесь о результате - думаю другим также будет это интересно.

Эксперимент проводить с включенным пулом соединений в настройках Зенно и выключенным пулом соединений в Зенно.
Я сам пул соединений не использую - из-за чего наши результаты могут отличаться.
 
  • Спасибо
Реакции: Nord и orka13

HastaLaVista

Client
Регистрация
29.10.2018
Сообщения
163
Благодарностей
153
Баллы
43
У массы провайдеров есть ограничение по кол-ву одновременно открытых сессий. Чтобы не париться с его вычислением, проще купить недорогой VPS и прокинуть туда туннель. Для вашего провайдера все это будет одной сессией и никаких ограничений не будет.
 

devffy

Client
Регистрация
16.03.2019
Сообщения
542
Благодарностей
188
Баллы
43
ZP на Win10x64, i9-10900, 64Gb, подключение 1000mb/s.

На машине крутится элементарнейший безбраузерный шаблон на 4 кубика. Взяли строку - послали запрос, проверили ответ и если ОК, то сохранили.

Но при запуске в 100 потоков и больше начинаются приколы- в обычном браузере и в ПМ перестают загружаться сайты, "проверьте DNS и параметры подключения" и тому подобные сообщения, шаблоны, которые работают параллельно - крашатся, так как у них пропадает связь с миром =)

К слову, этот же шаблон в 1000 потоков хоть и со скрипом но работал на 10и летнем ПК в Вин10 и 8Гб и слабым процом и сетевухой на 100 мб/с. Параллельно работал браузер, которому всего хватало.

Такое ощущение, что на новом ПК есть какое то ограничение на количество одновременных соединений, но сколько не гуглил - способы от внесения настроек в роутер до отключения антивиря - не то.

Есть идеи, как это можно исправить или хотя бы в какую сторону копать?
У меня точно такая же проблема недавно сплыла. Это провайдер, а не комп) Раньше 100 потоков работало без перебоев на мощном пк, а потом в один день началось... Еле 50 потоков и в самом браузере страницы начали грузится дольше, а иногда даже ошибку выдавало) ПостГет
 
  • Спасибо
Реакции: Nord

devffy

Client
Регистрация
16.03.2019
Сообщения
542
Благодарностей
188
Баллы
43
Видел похожую тему на форуме у другого ТС. И там тоже была проблема с провайдером на нескольких серверах
 
  • Спасибо
Реакции: Nord

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 787
Благодарностей
2 453
Баллы
113
У массы провайдеров есть ограничение по кол-ву одновременно открытых сессий. Чтобы не париться с его вычислением, проще купить недорогой VPS и прокинуть туда туннель. Для вашего провайдера все это будет одной сессией и никаких ограничений не будет.
У меня точно такая же проблема недавно сплыла. Это провайдер, а не комп) Раньше 100 потоков работало без перебоев на мощном пк, а потом в один день началось... Еле 50 потоков и в самом браузере страницы начали грузится дольше, а иногда даже ошибку выдавало) ПостГет
Какое именно ограничение по количеству открытых соединений у Вашего провайдера?
Я позвонил к своему провайдеру - девушка говорит что единственное ограничение которое они накладывают - это скорость + DNS подменяют по указу президента (ВК блочат и тп).

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

Когда-то в институте изучал моделирование сетей.
Моделировали нагрузку на сеть в программе NetCracker.
Если интересно разобраться - в Google по этому поводу есть достаточно материалов (пример во вложенном файле, чуток устаревшая инфа 2013 года, но для примера подойдёт, формулы, которые нужны для вычислений там есть).
Если банально скачать программу, набросать модель Комп, Роутер, Сервер и указать количество пакетов, их потенциальный размер и время количество времени между запросами - то можно наглядно посмотреть модель, через сколько времени роутер перестанет справляться с запросами.

Дешевые роутеры (которые обычно предоставляются провайдерами) держут около 1000 соединений (мой 800), и уже после 500 начинаются проблемы. Связано это именно с тем, что они не предназначены для того, чтобы держать более высокие нагрузки (для более высоких нагрузок нужны более мощные процессоры, нормальные операционные системы, которые будут обрабатывать ошибки при передаче пакетов).
Вот пример моего роутера (или почти такого же) - на скриншоте ниже. Купился я когда-то на количество отзывов. Хочу отметить, что количество отзывов (на скриншоте ниже) не имеет значения, так как оставляют эти отзывы люди, которые явно не заставляют Зеннопостер работать через этот роутер работать в многопотоке да ещё и без браузера.

68448


А более приличные модели с ценником около 100+ долларов у того самого провайдера способны выдавать без проблем 3500+ соединений - себе заказал вчера MikroTik hAP ac (RB962UiGS-5HacT2HnT), предполагаю, что 3500+ он должен держать. Говорил с знакомыми - говорят что это как пересесть с верблюда на самолёт.

68447


В целом, покупать дешевые VPS чтобы попытаться получить результат хотя бы на примерно такой, как получал автор темы (речь о 1000 потоков) - не думаю что это хорошая идея (не верю что какая-то дешевая VPS потянет подобную нагрузку). Тут уже тогда нужно покупать выделенные сервера VDS, которые явно дороже чем VPS.
 

Вложения

Последнее редактирование:
  • Спасибо
Реакции: Nord и one

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Тут уже тогда нужно покупать выделенные сервера VDS
Тут бы я оспорил. Все что виртуальное с нагрузкой так или иначе не дружет никак, по одной простой причине (если не углубляться), оно вирутальное и каждый хостер распределяет ресурсы по своему усмотрению, но ни как не в угоду клиента. Ему это просто не выгодно будет. Амортизация железа должна быть 100% и более. Не, не спорю, есть хостеры которые добросовестно распределяют ресурсы железа между виртуальными клиентами как заявляют в прайс листе, но и берут они за это не полтора бакса.

Ну а Dedicated или Collacation сервера, вот тут уже да, это самые что не наесть нагрузо-устойчивые.
 
Последнее редактирование:
  • Спасибо
Реакции: Nord и BAZAg

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 787
Благодарностей
2 453
Баллы
113
Тут бы я оспорил. Все что виртуальное с нагрузкой так или иначе не дружет никак, по одной простой причине (если не углубляться), оно вирутальное и каждый хостер распределяет ресурсы по своему усмотрению, но ни как не в угоду клиента. Ему это просто не выгодно будет. Амортизация железа должна быть 100% и более. Не, не спорю, есть хостеры которые добросовестно распределяют ресурсы железа между виртуальными клиентами как заявляют в прайс листе, но и берут они за это не полтора бакса.

Ну а Dedicated или Collacation сервера, вот тут уже да, это самые что не наесть нагрузочно устойчивые.
Если нам нужно 1024+ ядер процессора и 100000000 ГБ ОЗУ то каким образом мы должны собрать такую реальную систему?
Для справки на подобной штуке работники гугла вычисляли число Пи (циферки ядер и ОЗУ указал специально заоблачные, так как если бы написал что-то типа 128 - нашлись бы такие, кто написал бы что такую систему можно собрать в типовом шкафу Cisco ).

И вот здесь, когда пришло время думать о подобных штуках на помощь приходит виртуализация, которая позволяет построить распределенную систему, которая может работать как будто эти ресурсы находятся на одном реальном ПК.
Но, то что эта технология (имею ввиду виртуализацию, а не распределенную систему) придумана для одних целей, а люди её используют для других - это вполне нормально. Никто бы и подумать не мог, когда создавал Зеннопостер, что будут появляться люди которые покупают лицензии только для того, чтобы генерировать видео (караул!!! это ведь не видео редактор!!!).
Виртуализация ещё имеет другие преимущества (на которых останавливаться не будем).

Суть в том, что дешевые, VPS явным образом не предназначены для подобных нагрузок - в лучшем случае поднять парочку тысяч сайтов (при условии что на них почти нет трафика) на сколько хватит размера SSD, а не тысячи запросов в секунду. Одно что в этих VPS есть - это наверно с коробки настроенная серверная винда, которая в целом должна снимать ограничения по количеству подключений, но как Вы и говорите, если у конторы, которая сдает на одном VDS 150 VPS и разделит ресурсы между ними - то о какой производительности можно говорить за каких-то 2-5 баксов (так как за 50-100 это уже VDS с условно отличными характеристиками)?

Я более чем уверен, что новый компьютер Win10x64, i9-10900, 64Gb, подключение 1000mb/s. автора темы должен работать лучше, чем любой VPS, и тем более должен работать лучше, чем работал старый (иначе зачем он покупал новый - лучше бы купил десяток старых на Авито или ОЛХ в зависимости от гео).

P.S. Сори, если что - не нужно было писать два последних сообщения... Но, раз уже написал - удалять не буду.
 
Последнее редактирование:
  • Спасибо
Реакции: Nord и one

nexx1

Client
Регистрация
16.08.2016
Сообщения
277
Благодарностей
97
Баллы
28
ZP на Win10x64, i9-10900, 64Gb, подключение 1000mb/s.

На машине крутится элементарнейший безбраузерный шаблон на 4 кубика. Взяли строку - послали запрос, проверили ответ и если ОК, то сохранили.

Но при запуске в 100 потоков и больше начинаются приколы- в обычном браузере и в ПМ перестают загружаться сайты, "проверьте DNS и параметры подключения" и тому подобные сообщения, шаблоны, которые работают параллельно - крашатся, так как у них пропадает связь с миром =)

К слову, этот же шаблон в 1000 потоков хоть и со скрипом но работал на 10и летнем ПК в Вин10 и 8Гб и слабым процом и сетевухой на 100 мб/с. Параллельно работал браузер, которому всего хватало.

Такое ощущение, что на новом ПК есть какое то ограничение на количество одновременных соединений, но сколько не гуглил - способы от внесения настроек в роутер до отключения антивиря - не то.

Есть идеи, как это можно исправить или хотя бы в какую сторону копать?
Возможно, это ограничение количества одновременных подключений, и в реестре настаивается, погуглите.
 
  • Спасибо
Реакции: Nord

HastaLaVista

Client
Регистрация
29.10.2018
Сообщения
163
Благодарностей
153
Баллы
43
Граждане, простите конечно за мой французский, но либо я недостаточно ясно выразился, либо вы какую-то феерическую чухню написали :-)

Какие-то ядра, виртуализации, смешались в кучу люди и кони.

Девушка в саппорте прова может отвечать что угодно, у нее в скрипте даже таких слов, как ограничение кол-ва сессий не предусмотрено. По опыту моей работы сисадмином у пары провов могу точно сказать что у крупняка ограничения по кол-ву сессий есть. Особенно у тех, кто предоставляет клиентам широкие каналы 100мбит-1гбит.

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

Для VPS никаких особых ресурсов, каких-то виндов и прочей лабуды - не нужно. Ставится минимальный дистрибут Линукса и настраивается сервер PPTP, OpenVPN ну или по вкусу, какой там клиент вам проще на домашний роутер поставить. Все что от VPS нужно - чтобы сидел на жирном канале в нет, от гига и выше и там не было лимита по трафу или этот лимит вас устраивал. Задача VPS - только обслуживать туннель между вашим роутером и внешним каналом.

Роутер - тут отчасти согласен. Подразумевал, что чел пускающий шабы в 200 потоков - понимает, что тырпырлинк на одном ядре 100 мгц проца такой нагрузки в жизнь не потянет. Микротик, правда, рекомендовать не буду. Человек, способный настроить RouterOS Микротика для установки туда клиента PPTP, точно вопросов в форуме задавать уже не будет :-) Топовые модели Асуса типа RT-AC86, AX88 имеют встроенные клиенты PPTP и OpenVPN и могут поддерживать туннели со скоростью 200-900мбит.

А вообще самым первым делом нужно посмотреть, как реализован доступ к инету со скоростью 1 гбит. Если от прова идет оптика, а в квартире сначала стоит модем с оптики и от него витуха к роутеру, то с 99% вероятностью ограничение кол-ва сессий забито в настройках модема, редактировать которые клиенту предусмотрительно запрещено. При это формально провайдер действительно не ограничивает сессии - модем же у клиента :-)
 
  • Спасибо
Реакции: Nord

che100

Client
Регистрация
18.04.2017
Сообщения
808
Благодарностей
503
Баллы
63
Сто питсот раз обсуждали, ограничение на количество сессий у провайдера ЕСТЬ. Если мне не изменяет память около 255шт. Если интересно могу поискать методику измерения, где-то валялась.
А вообще использовать для zp, да и вообще за некоторым исключением win10 считаю моветон.
 
  • Спасибо
Реакции: Nord

RoyalBank

Client
Регистрация
07.09.2015
Сообщения
557
Благодарностей
550
Баллы
93
Приветствую!

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

Исходные данные:
  • Интернет - канал на 600 мбит, воткнут в роутер и распределяется между всеми участниками, входящая линияю по кабелю cat5
  • Роутер - NETGEAR RAX15; quad-core processor (Mhz не нашел); Memory: 256MB flash and 512M RAM
  • Сервер - 1gb lan, NVMe 512 Gb Samsung, 2 x E5-2680v4, 32gb RAM, mb Asus Z10PE-D8 WS, подключение к роутеру по кабелю cat7
  • Система - Windows Server 2019 Standard ltsc
  • Шаблон - без браузера, все вынесенно в общий код, на запросах с помощью leaf.xnet.
  • Принцип работы - Каждый поток, должен совершить условные 15 запросов на один и тот же сайт, все страницы примерно одинаковые по весу. Объявляется project > создается HttpRequest > дальше в цикле через void шлется запрос по ссылке, полученная страница обрабатывается.

C#:
request = new HttpRequest();

request.IgnoreProtocolErrors = true;
request.AllowAutoRedirect = true;
request.MaximumAutomaticRedirections = 5;
request.EnableEncodingContent = true;

request.ReconnectLimit = 3;
request.ReconnectDelay = 50;

request.Cookies = new CookieStorage();
request.UserAgent = Http.ChromeUserAgent();
request.KeepAlive = true;
request.AcceptEncoding = "gzip, deflate, br";

request["Host"] = String.Format("www.{0}", project.Variables["is_MarketPlace"].Value);
request[HttpHeader.Accept] = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";
request[HttpHeader.AcceptLanguage] = "en-US,en;q=0.5";
request[HttpHeader.DNT] = "1";
request[HttpHeader.UpgradeInsecureRequests] = "1";
Проверял через processhacker, в сетевых подключениях постоянно получаю пачку ожиданий. Тестировал на разных проксях, в том числе с vpn для разных стран на случай ограничений со стороны провайдера.

Image 2021-03-16 18.54.46.png
Допустим меня кидает на cloud, который ставит в ожидание потоки, т.к. подключения идут с одного ip.

Image 2021-03-16 19.03.21.png
Допустим в этом случае сам сервер к которому идет подключение может кидать в очередь.

Image 2021-03-16 19.56.05.png
Тут единственная погрешность должна идти на скорость подключения к конкретной проксе, в зависимости от её удаленности. Все прокси в Европе по разным странам.

  • Работа в 50 потоков, получаю ~ 2 минуты на каждое подключение в каждом потоке. Итого 2 * 15 = 30 минут для 15 запросов.
  • Работа в 25 потоков, получаю ~ 1 минуту между каждым запросом для каждого потока. Итого 1 * 15 = 15 минут для 15 запросов.
  • Работа в 10 потоков, получаю 16-20 секунд между каждым запросом для каждого потока. Итого примерно 5 минут для 15 запросов.
Собственно, нужна помощь в поиске узкого горлышка, т.к. по тестам явная зависимость между кол-вом потоков и временем между запросами.
  • Возможно нужно правильнее настроить роутер.
  • Возможно нужно как-то улучшить общий код, разграничить потоки.
  • Возможно переписать запросы на чистый .net
  • Возможно какой-то независимый тест может показать в чем проблема.

Буду признателен за помощь в том числе на платной основе - $$$, если что пишите в личку.
 
Последнее редактирование:

che100

Client
Регистрация
18.04.2017
Сообщения
808
Благодарностей
503
Баллы
63
Система - Windows Server 2019 Standard ltsc
Host единственный и не повторимый безгуевый hyper-v из состава Windows server 2016, под ZP виртуалки Windows server 2019 без Desktop Expiriens. По железу на чо денег хватит, мой личный сервер крутится на FX8350 и дешмаской памяти only am3, на днях заказчику собирал на базе Intel i9 10850k, мать асус бизнес серии со взрослой сетевушкой от Intel, памяти 128Гб 4мя плашками, NVME от Samsung, классный сервер получился, сам был в восторге от производительности. Прикупил себе пару аналогичных матерей, подожку когда i9-e подешевеют.
 

RoyalBank

Client
Регистрация
07.09.2015
Сообщения
557
Благодарностей
550
Баллы
93
Host единственный и не повторимый безгуевый hyper-v из состава Windows server 2016, под ZP виртуалки Windows server 2019 без Desktop Expiriens.
Можно этот момент подробнее раскрыть, я Windows server до этого не ставил...
 

che100

Client
Регистрация
18.04.2017
Сообщения
808
Благодарностей
503
Баллы
63
Можно этот момент подробнее раскрыть, я Windows server до этого не ставил...
Ставится так же как и workstation, блонди инсталлер, далее, далее готово. С hyper-v standalone всё немного сложнее, через powershell или через специальный Builder.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)