У меня написана программа на Selenium. При ее запуске обрабатывается параллельно 6 сайтов с помощью многопоточности Java. Проблема в том, что при одновременном запуске и работе шести потоков программа работает очень долго, хотя результаты программы нужно получать быстро. Как можно это исправить и можно ли? Можно ли повысить производительность компьютера каким-то образом или все зависит от программы?
Здравствуйте! У меня аналогичные проблемы, так что буду рад услышать мнения специалистов))
При парсинге сайта замечаю, что потребление памяти доходит до 3-4 гб. А под конец ужасно тормозит... Это в лисе в режиме headless при запуски через cli. А если запускать из IDE, то вообще жесть)))
При парсинге сайта замечаю, что потребление памяти доходит до 3-4 гб. А под конец ужасно тормозит... Это в лисе в режиме headless при запуски через cli. А если запускать из IDE, то вообще жесть)))
Вы уверены что для этой задачи вам нужен целый firefox?
Может быть, достаточно было бы SlimerJS?
судя по всему SlimerJS работает с JS ? К сожалению, я не владею JS (
SlimerJS эмулирует браузер. Чтобы сайт не отличил его от живого человека, от браузера.
А в браузере, с точки зрения сайта, да будет вам известно - все является JS. Поэтому и вариантов с языком тут быть не может.
Управляется он конечно тоже JS, зачем тут лишний язык.
И да, в отличие от ресурсожрущего Selenium, SlimerJS не так уж и много потребляет.
Скорее всего в коде есть что улучшить и оптимизировать. Выведи метрики, посмотри что тормозит, посмотри что там можно оптимизировать. Скорее всего найдешь много мест где можно либо оптимизировать алгоритмы, либо сократить потребление ресурсов.
Повысить производительность компьютера можно при помощи разгона или апгрейда. Но в данном случае возможно именно программа неоптимально использует ресурсы компьютера.