Как оптимизировать работу в многопотоке?



  • @Gang скорее всего визуально. В логах потоки выше 275-го светятся?



  • @DrPrime да светится. Значит все норм.



  • Но я все же не могу загрузить сервер на полную каушку. Как ставлю больше 300 потоков сервер начинает жестко тупить и все виснет (например на 500 потоках при этом оперативы и проца хватает). Все таки эта инфа http://wiki.bablosoft.com/doku.php?id=ru:what_is_maximum_thread_number походу актуальна.

    Такое же происходит если запускаю 2 копии БАС по 300 потоков, даже жеще, приходится сервер сразу же перезагружать, так как не реагирует на команды с интерфейса рабочего стола.

    Подскажите куда копать чтоб загрузить сервер на полную катушку?


  • administrators

    @Gang said in Как оптимизировать работу в многопотоке?:

    больше 300 потоков сервер начинает жестко тупить и все виснет (например на 500 потоках при этом оперативы и проца хватает)

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



  • @support А где задать эту настройку количества перезапуска выставлять? У меня в настройках просто стоит галочка "Перезапускать процесс в начале работы потока" И все. Дополнительных настроек я не вижу


  • administrators

    @Gang По умолчанию это значение равно 100, в настройки не вынесено. Но можно реализовать самому с помощью глобальных переменных.


  • administrators

    @Gang Несколько человек говорили что набор памяти сильно увеличивается без перезапусков, поэтому я уменьшу это значение до 10 в сл версии.



  • По умолчанию это значение равно 100, в настройки не вынесено. Но можно реализовать самому с помощью глобальных переменных.
    @support А шаблон с примерчиком можно? Врядли я осилю сам такое сделать)



  • @support Та же проблема, буду рад когда уменьшите)


  • administrators

    @Gang
    Вот так должен выглядеть код.

    IF глобальная переменная для этого потока > 10
        Перезапустить поток
        установить глобальную переменную в 0
    ...
    Работа потока
    ...
    увеличить глобальную переменную на 1
    


  • Никак не получается перезагрузить поток через глобальную переменную. Кидаю свой файл шаблона. Помогите пожалуйста. 0_1489215156543_test_potok.xml



  • а подскажите, что дает галка "перезапуск процеса"
    скрипт такой:
    авторизовались на сайте и потом аккчерез FOR выполняет 500 действий и заканчиваеться поток (куки не сохраняю)
    есть ли смысел ставить галку перезапуск процеса и как она вобще работает?



  • @iptips said in Как оптимизировать работу в многопотоке?:

    а подскажите, что дает галка "перезапуск процеса"
    скрипт такой:
    авторизовались на сайте и потом аккчерез FOR выполняет 500 действий и заканчиваеться поток (куки не сохраняю)
    есть ли смысел ставить галку перезапуск процесса и как она вобще работает?

    Например ставим 100 потоков. Запускается 100 процессоров worker.exe И они висят в оперативе все время работы проги. Если не перезапускать процессы, они со временем растут и забивают оперативу. Нужно их перезапускать. Но если перезапускать слишком часто идет нагрузка на процессор.


  • administrators

    @Gang Вот так будет работать, но в текущей версии 10 по умолчанию

    0_1489266565286_test_potok.xml


  • administrators

    @iptips Она полностью перегружает процесс каждый раз после рестарта потока. Чистится кеш, абсолютно все. В стандартном режиме куки localStorage тоже чистятся, но остаются Evercookie, и при желании можно определить, что работал тот же самый браузер, даже если прокси изменен.
    Так что ответ зависит от того насколько сайт с которым работает хочет вас идентифицировать.


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.