Нагрузка на CPU

Поддержка
  • @aveko Вот информация о профайлерах https://habr.com/post/167837/
    Вообще рекомендовал бы поставить побольше задержек в скрипте и выявить на каком участке возникает проблема.

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

  • @venom777 Кстати да, у меня тоже самое было.

  • @venom777 Это не очень хорошо, сейчас буду разбираться.

  • слишком мало ресурсов, ты сам попробуй открыть браузер на таких ресурсах и смотри как грузит проц.
    Минимум 2 гиг оперы и два ядра ИМХО

  • Может кто-то запустить этот браузер на данном железе?

    http://opensource.spotify.com/cefbuilds/cef_binary_3.3396.1778.g628b9db_windows64_client.tar.bz2

  • @support 1 ядро 1 гиг рамы

    alt text

    при запуске проц зашкалил под 100 %

  • Проверил использование CPU браузером. Не могу сказать, что браузер БАС дает больше нагрузку чем обычный.
    Что пробовал:

    • Смотрел отчет по процессору в разных потоках. Основная нагрузка приходится на браузерные потоки. Примерно 20-30% от общей нагрузки процесса приходится на один поток, который создает БАС. В нем есть вызов CefDoMessageLoopWork, функции, которая обрабатывает все, что связанно с браузером. Стал вызывать ее реже и нагрузка упала до 5%. Выборочно смотрел стек, все после CefDoMessageLoopWork не мой код. Есть вероятность, что иногда из этой функции вызывается и мой код, который и дает нагрузку на проц, поэтому идем дальше.
    • Запускал профайлер sleepy, отчет показал, что больше всего времени тратится на создание потоков. Браузер действительно часто любит создавать и убивать потоки, возможно это может стать вариантом для оптимизации, но не факт, что я смогу изменить это поведение. БАС точно не создает потоки динамически.
    • Сделал простой проект, который водит мышью по странице в БАС и сделал тоже самое в стандартном браузере CEF руками. Результаты для БАС 1-3%, для CEF ~ 2.4%. Иногда и CEF и BAS скачут до 5%. Но это бывает редко.
    • Начал редактировать код, убрал все места, которые могут давать нагрузку. Лок потоков, вычисление координат мыши, абсолютно все что связанно с отрисовкой. Все это никак не повлияло на производительность.
    • Оставил проект на пару часов без перезапуска потоков. Нагрузка на цпу не менялась со временем.

    Все это не является доказательством, что БАС не добавляет где-то использование цпу, но в данный момент я не вижу серьезной разницы с CEF по производительности.

  • @bablouser Эта штука по идее является эталоном. Если она не запускается, то и БАС не должен хорошо работать.
    Но там могут быть нюансы с отключением видеокарты или с многопроцессорностью, возможно еще с чем-то.

  • @support , попробовал запустить на 6 ядрах с 1 гиг рам, таже ошибка при этом процессор максимально поднимался до 20 %. система вин серв 2012 r2
    если нужно могу дать rdp для тестов на этом серве, у меня ничего там моего не крутится, сервак абсолютно свободен.

  • @support для многопроцессорных железяк бас не оптимизирован? помню как то тестил месяца 3 назад. на сервере с двумя Е5 работает хуже чем на сервере с одним Е3

  • @smurfik Плюсую на Rayzer 7 PRO 16 ядер вообще не заходит.