GET запрос 50 потоков нагрузка 90-100%



  • Настройки проекта
    взять ссылку из рессурса - get запрос - парсинг тега h1
    alt text
    в 50 потоков нагрузка на процессор 80-100 %
    При измерении действий - больше всего времени уходит на обработку запроса

    С чем может быть связанна такая нагрузка ?



  • @inotoxic Windows 10?



  • Да - windows 10 порезана телеметрия, отключены некоторые сервисы



  • @inotoxic Сделайте в цикле без перезапуска потоков, должно меньше кушать



  • @inotoxic Тогда послушайте совета @DrPrime тк у вас очень простой скрипт и потоки быстро перезапускаются на их создание может уходить процессорное время



  • @UserTrue
    Спасибо, переделаю

    Пока только, тестирую и разбираюсь как работает софт

    запустил на VirtualBox (Win 7 1 Cpu 512 RAM)
    в ресурсе 5000 ссылок, время обработки 2,56 мин
    Нагрузка на проц 70-100 %



  • @inotoxic said in GET запрос 50 потоков нагрузка 90-100%:

    @UserTrue
    Спасибо, переделаю

    Пока только, тестирую и разбираюсь как работает софт

    профиль софта включает использование простых GET запросов, но основная специализация не на этом.(специализация имитации юзера и с тем с чем это свянанно)
    На любом наверно ЯП можно сделать "простых GET запросов" намного эффективней.



  • @tet-vivi
    Этот же ПК на python в 1000 потоков без всякой нагрузки на проц нормально работает



  • @inotoxic said in GET запрос 50 потоков нагрузка 90-100%:

    @tet-vivi
    Этот же ПК на python в 1000 потоков без всякой нагрузки на проц нормально работает

    можно подключать C#, Node и др. к BAS и реализовывать часть на них.



  • @inotoxic said in GET запрос 50 потоков нагрузка 90-100%:

    @tet-vivi
    Этот же ПК на python в 1000 потоков без всякой нагрузки на проц нормально работает

    А теперь напишите на питоне софт подобный бас и сравним



  • @UserTrue said in GET запрос 50 потоков нагрузка 90-100%:

    @inotoxic said in GET запрос 50 потоков нагрузка 90-100%:

    @tet-vivi
    Этот же ПК на python в 1000 потоков без всякой нагрузки на проц нормально работает

    А теперь напишите на питоне софт подобный бас и сравним

    без эмуляции хрома? (он тестит на простых get запросах)
    @inotoxic, попробуй имитацию человека сделать на python с эмуляцией хрома.(хотя есть есть реализации этого, но разработа будет дольше и сложнее)



  • @UserTrue
    Смысл не втом что-бы сделать софт на питоне
    А понять почему такая разница в работе - вернее нагрузка на проц



  • @tet-vivi
    Селениум и пайавтогуи думаю могут решить какие-то вопросы
    .. и опять же вопрос не в эмуляции действий



  • @tet-vivi
    Если не ошибаюсь C# можно подключить только в платной версии ?



  • @inotoxic said in GET запрос 50 потоков нагрузка 90-100%:

    @UserTrue
    Смысл не втом что-бы сделать софт на питоне
    А понять почему такая разница в работе - вернее нагрузка на проц

    надо смотреть исходники. для прем. исходники открыты.
    libcurl.dll - простые геты наверно идут через это

    Если не ошибаюсь C# можно подключить только в платной версии ?

    нет, при желании можно подключить любой язык. инструкции гдето тут на форуме есть
    Снимок.PNG

    тяжелые/долгие задачи можно на удобном тебе ЯП реализовать.
    Так же есть возможность создавать свои модули для BAS.

    p.s. самое тяжелое из функционала что я видел это загрузка профилей



  • @tet-vivi
    На скрине я так понимаю - про версия ?



  • @inotoxic said in GET запрос 50 потоков нагрузка 90-100%:

    @tet-vivi
    На скрине я так понимаю - про версия ?

    обычная



  • @inotoxic
    Если простыми словами, то такая нагрузка из за того что каждый поток подгружает все функции, которые есть в бас, что и дает нагрузку на проц в момент старта. Если делать на каком то яп - то там будет только инициализация хттп клиента. Единственное, что если в скрипте нет браузерных действий, то не будет запускаться браузер в каждом потоке.

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

    Я запускал до 1000 потоков с циклом , правда старт занимает долго, так как у меня в каждом потоке было еще куча кода, и основное время на старте уходило на его обработку. Но потом нагрузка в норме, и стабильность работы тоже.

    П.С. Обязательно выпиливайте защитник, убивайте его всеми возможными методами на вашей винде)



  • @inotoxic, запустил скрипт на запросах в 1000 потоков цп больше 10% не поднимается



  • @DrPrime

    П.С. Обязательно выпиливайте защитник, убивайте его всеми возможными методами на вашей винде)

    защитник 10 очень проблематичен.

    Есть рекомендации по оптимизации загрузки профилей хрома?


Log in to reply