Как оптимизировать работу в многопотоке?
-
@Gang said in Как оптимизировать работу в многопотоке?:
Или, может быть, есть вариант запускать несколько копий БАС параллельно на одном сервере?
сделал так, правда 100 лишнимхмегабайт озу за еще одну копию, но это погоду не портит)
-
@artihorror Спасибо попробую! А вы используете 1 файл шаблона на все копии БАСа? Или под каждую делаете свою копию шаблона со всеми привязаными файлами в ресурсах?
Интересует если использовать один и тот же файл шаблона со всеми привязанными ресурсами к нему, не будет ли конфликта в обработке файлов?
-
Да я читал что БАС максимум тянет 300 потоков, но вдруг что поменялось с новыми версиями?
Количество потоков на 1 копию БАС ограничено приблизительно 2000. 500 можете смело пробовать.
-
Спасибо попробую! Я установил 2 копии БАСа, запустил каждую на 300 потоков и сервер сразу же завис и перестал отвечать на команды((
-
Поставил 500 потоков. Но визуально наблюдаю только 276. Это только визуально они на главое окно не поместились, или нужно где-то снять ограничения?
-
@Gang скорее всего визуально. В логах потоки выше 275-го светятся?
-
@DrPrime да светится. Значит все норм.
-
Но я все же не могу загрузить сервер на полную каушку. Как ставлю больше 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, и при желании можно определить, что работал тот же самый браузер, даже если прокси изменен.
Так что ответ зависит от того насколько сайт с которым работает хочет вас идентифицировать.