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



  • @out благодарствую!



  • Ребята я в шоке!!! С перезагрузкой процесса БАС лупит как бешеный, производительность в сравнении с Зенкой в разы выше!!! Тот же шаблон запустил на 300 потоков с перезагрузкой процесса в настройках. Жрет всего 10 гигов операивы и 20% проца.

    Это капец!!! Я доволен как слон!!!

    Но у меня стоит задача максимум. Максимально масштабировать обьемы. Подскажите пожалуйста, если я поставлю например 500 потоков, будут ли они все корректно работать? Так как мощностей сервера вполне хватает.

    Да я читал что БАС максимум тянет 300 потоков, но вдруг что поменялось с новыми версиями?

    Или, может быть, есть вариант запускать несколько копий БАС параллельно на одном сервере?

    Мне бы сервер загрузить минимум 60-70 % мощностей. Оперативы 64 гига, проц 2 ядра по 2.7



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

    Или, может быть, есть вариант запускать несколько копий БАС параллельно на одном сервере?

    сделал так, правда 100 лишнимхмегабайт озу за еще одну копию, но это погоду не портит)



  • @artihorror Спасибо попробую! А вы используете 1 файл шаблона на все копии БАСа? Или под каждую делаете свою копию шаблона со всеми привязаными файлами в ресурсах?

    Интересует если использовать один и тот же файл шаблона со всеми привязанными ресурсами к нему, не будет ли конфликта в обработке файлов?


  • administrators

    @Gang

    Да я читал что БАС максимум тянет 300 потоков, но вдруг что поменялось с новыми версиями?

    Количество потоков на 1 копию БАС ограничено приблизительно 2000. 500 можете смело пробовать.



  • Спасибо попробую! Я установил 2 копии БАСа, запустил каждую на 300 потоков и сервер сразу же завис и перестал отвечать на команды((



  • Поставил 500 потоков. Но визуально наблюдаю только 276. Это только визуально они на главое окно не поместились, или нужно где-то снять ограничения?

    http://i.piccy.info/i9/d18b7f63e0e03e4b616b581717b60521/1488215965/40369/1119390/27_02_2017_19_16_28.png
    alt text



  • @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 И они висят в оперативе все время работы проги. Если не перезапускать процессы, они со временем растут и забивают оперативу. Нужно их перезапускать. Но если перезапускать слишком часто идет нагрузка на процессор.


Log in to reply
 

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