在Webdriver中对Firefox和Chrome的内存消耗进行基准测试

大卫542

我正在尝试最大化可以在计算机上运行脚本的浏览器数量。启动时,如何计算每个Chrome或Firefox进程占用的内存量webdriver例如:

from selenium import webdriver
driver = webdriver.Chrome()
driver.get('www.yahoo.com')

# - or - #

from selenium import webdriver
driver = webdriver.Firefox()
driver.get('www.yahoo.com')
算了吧

实例化webdriver.Chromewebdriver.Firefox产生至少一个其他进程,因此要获得总内存消耗的估计值,最简单的方法是在启动进程之前和之后测量可用的系统总内存。如何找到使用的总内存取决于您的操作系统;的PSUtils模块支持Linux,Windows中,OSX,FreeBSD和Sun Solaris的。

import os
import multiprocessing as mp
import contextlib
import time
import selenium.webdriver as webdriver
import selenium.webdriver.support.ui as UI
import selenium.webdriver.support.expected_conditions as EC
import psutil

def worker(browsername, args, N):
    start_mem = psutil.virtual_memory()
    Driver = getattr(webdriver, browsername)
    drivers = [Driver(*args) for i in range(N)]
    end_mem = psutil.virtual_memory()
    for driver in drivers:
        driver.quit()
    return end_mem.used - start_mem.used

if __name__ == '__main__':
    N = 10
    pool = mp.Pool(1)

    for driver, args in [('Firefox', ()),
                         ('Chrome', ()), 
                         ('PhantomJS', ('phantomjs',))]:
        used = pool.apply(worker, [driver, args, N])
        print('{:>10}: {}'.format(driver, used))
        time.sleep(5)

    pool.close()
    pool.join()

产量

   Firefox: 1072779264
    Chrome: 1124683776
 PhantomJS: 102670336

因此,看来PhantomJS使用的内存减少了大约10倍。

技术说明:没有终止Python进程的可靠方法,可以强制Python进程将已使用的内存交还给OS 因此,我使用多重处理在单独的进程中生成每个测试,以便在终止测试时释放所使用的内存。块,直到结束。pool.apply()worker

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 Bash 中对内存和时间进行基准测试的错误自制代码

来自分类Dev

用于测量速度和内存消耗的语言不可知基准测试工具

来自分类Dev

如何防止Chrome和Firefox长时间消耗大量内存?

来自分类Dev

如何对函数的内存使用进行基准测试?

来自分类Dev

对Qt5和C ++ 17容器进行性能和内存使用的基准测试

来自分类Dev

在Keil uVision 5仿真器中对内存使用进行基准测试

来自分类Dev

如何在嵌入式Linux设备中对内存进行基准测试?

来自分类Dev

对Javascript,PHP和Dart进行基准测试

来自分类Dev

测试内存消耗

来自分类Dev

使用siege vs wrk进行负载测试和基准测试

来自分类Dev

使用内存中的hsqldb,hibernate和liquibase进行Junit测试

来自分类Dev

推荐的用于对Ruby和Perl进行基准测试的工具

来自分类Dev

如何对Python和Clojure的性能进行基准测试(比较)?

来自分类Dev

在ViewController之间进行隔离之后,CPU和内存被消耗的问题

来自分类Dev

JavaFx和内存消耗

来自分类Dev

如何在Elasticsearch中对执行进行基准测试?

来自分类Dev

在python中对运行时间进行基准测试

来自分类Dev

在Julia中对数组的条件赋值进行基准测试

来自分类Dev

如何在Elasticsearch中对执行进行基准测试?

来自分类Dev

如何使用文件中的数据进行微基准测试?

来自分类Dev

使用SELinux进行基准测试

来自分类Dev

对单个核心进行基准测试?

来自分类Dev

球拍中的内存消耗

来自分类Dev

Selenium::WebDriver::Firefox 和 Chrome 出错

来自分类Dev

一次性对内存副本进行基准测试

来自分类Dev

如何使用Linux发行版对RAM内存进行基准测试?

来自分类Dev

riscv 基准测试中与 vvadd 和 mt-vvadd 的区别

来自分类Dev

避免在Python和wxPython中不必要的内存消耗

来自分类Dev

在Oracle JDK 8中进行基准测试以进行性能测试

Related 相关文章

  1. 1

    在 Bash 中对内存和时间进行基准测试的错误自制代码

  2. 2

    用于测量速度和内存消耗的语言不可知基准测试工具

  3. 3

    如何防止Chrome和Firefox长时间消耗大量内存?

  4. 4

    如何对函数的内存使用进行基准测试?

  5. 5

    对Qt5和C ++ 17容器进行性能和内存使用的基准测试

  6. 6

    在Keil uVision 5仿真器中对内存使用进行基准测试

  7. 7

    如何在嵌入式Linux设备中对内存进行基准测试?

  8. 8

    对Javascript,PHP和Dart进行基准测试

  9. 9

    测试内存消耗

  10. 10

    使用siege vs wrk进行负载测试和基准测试

  11. 11

    使用内存中的hsqldb,hibernate和liquibase进行Junit测试

  12. 12

    推荐的用于对Ruby和Perl进行基准测试的工具

  13. 13

    如何对Python和Clojure的性能进行基准测试(比较)?

  14. 14

    在ViewController之间进行隔离之后,CPU和内存被消耗的问题

  15. 15

    JavaFx和内存消耗

  16. 16

    如何在Elasticsearch中对执行进行基准测试?

  17. 17

    在python中对运行时间进行基准测试

  18. 18

    在Julia中对数组的条件赋值进行基准测试

  19. 19

    如何在Elasticsearch中对执行进行基准测试?

  20. 20

    如何使用文件中的数据进行微基准测试?

  21. 21

    使用SELinux进行基准测试

  22. 22

    对单个核心进行基准测试?

  23. 23

    球拍中的内存消耗

  24. 24

    Selenium::WebDriver::Firefox 和 Chrome 出错

  25. 25

    一次性对内存副本进行基准测试

  26. 26

    如何使用Linux发行版对RAM内存进行基准测试?

  27. 27

    riscv 基准测试中与 vvadd 和 mt-vvadd 的区别

  28. 28

    避免在Python和wxPython中不必要的内存消耗

  29. 29

    在Oracle JDK 8中进行基准测试以进行性能测试

热门标签

归档