Нагрузка на CPU



  • Как админ и попросил переношу мой вопрос в отдельную тему.
    Память 80 - 82% а CPU 99%... запущены всего 2 однопоточных скрипта с минимумом действий... даже не знаю в чём может быть проблема. Сервер от амазона (1гб памяти если правильно помню...)
    Админ предложил запустить профайлер и проверить, что занимает больше всего процессорного времени... поискал в Гугле (нет, может конечно я плохо искал) но ничего полезного для себя не нашёл... по этому задам вопрос тут: что такое профайлер? и как его запустить? :)



  • @aveko
    тут то еще общество анонимных телепатов, но все же: Need more information
    неправильно составленная регулярка если приложить значительные усилия может привести к отказу в обслужвании.
    может скрипты загруженной страницы что-то неистово считают.

    поиск "профайлер" вероятно вернет о специально обученyых людях которые сидят на границе и внимательно смотрят на лицо.
    "профилирование кода" я думаю



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


  • administrators



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



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


  • administrators

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



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


  • administrators

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

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



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

    alt text

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


  • administrators

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

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

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


  • administrators

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



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



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



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