Как оптимизировать работу в многопотоке?
-
Но я все же не могу загрузить сервер на полную каушку. Как ставлю больше 300 потоков сервер начинает жестко тупить и все виснет (например на 500 потоках при этом оперативы и проца хватает). Все таки эта инфа http://wiki.bablosoft.com/doku.php?id=ru:what_is_maximum_thread_number походу актуальна.
Такое же происходит если запускаю 2 копии БАС по 300 потоков, даже жеще, приходится сервер сразу же перезагружать, так как не реагирует на команды с интерфейса рабочего стола.
Подскажите куда копать чтоб загрузить сервер на полную катушку?
-
@Gang said in Как оптимизировать работу в многопотоке?:
больше 300 потоков сервер начинает жестко тупить и все виснет (например на 500 потоках при этом оперативы и проца хватает)
Если сервер виснет, значит проца не хватает. Нагрузку на проц можно уменьшить перезапуская процесс реже, не каждый раз а раз в 10 перезапусков потока например.
-
@support А где задать эту настройку количества перезапуска выставлять? У меня в настройках просто стоит галочка "Перезапускать процесс в начале работы потока" И все. Дополнительных настроек я не вижу
-
@Gang По умолчанию это значение равно 100, в настройки не вынесено. Но можно реализовать самому с помощью глобальных переменных.
-
@Gang Несколько человек говорили что набор памяти сильно увеличивается без перезапусков, поэтому я уменьшу это значение до 10 в сл версии.
-
По умолчанию это значение равно 100, в настройки не вынесено. Но можно реализовать самому с помощью глобальных переменных.
@support А шаблон с примерчиком можно? Врядли я осилю сам такое сделать)
-
@support Та же проблема, буду рад когда уменьшите)
-
@Gang
Вот так должен выглядеть код.IF глобальная переменная для этого потока > 10 Перезапустить поток установить глобальную переменную в 0 ... Работа потока ... увеличить глобальную переменную на 1
-
Никак не получается перезагрузить поток через глобальную переменную. Кидаю свой файл шаблона. Помогите пожалуйста. 0_1489215156543_test_potok.xml
-
а подскажите, что дает галка "перезапуск процеса"
скрипт такой:
авторизовались на сайте и потом аккчерез FOR выполняет 500 действий и заканчиваеться поток (куки не сохраняю)
есть ли смысел ставить галку перезапуск процеса и как она вобще работает?
-
@iptips said in Как оптимизировать работу в многопотоке?:
а подскажите, что дает галка "перезапуск процеса"
скрипт такой:
авторизовались на сайте и потом аккчерез FOR выполняет 500 действий и заканчиваеться поток (куки не сохраняю)
есть ли смысел ставить галку перезапуск процесса и как она вобще работает?Например ставим 100 потоков. Запускается 100 процессоров worker.exe И они висят в оперативе все время работы проги. Если не перезапускать процессы, они со временем растут и забивают оперативу. Нужно их перезапускать. Но если перезапускать слишком часто идет нагрузка на процессор.
-
@Gang Вот так будет работать, но в текущей версии 10 по умолчанию
-
@iptips Она полностью перегружает процесс каждый раз после рестарта потока. Чистится кеш, абсолютно все. В стандартном режиме куки localStorage тоже чистятся, но остаются Evercookie, и при желании можно определить, что работал тот же самый браузер, даже если прокси изменен.
Так что ответ зависит от того насколько сайт с которым работает хочет вас идентифицировать.