专栏首页码匠的流水账聊聊phantomjs的优化措施

聊聊phantomjs的优化措施

本文主要小结一下phantomjs的优化措施

phantomjs

phantomjs相当于一个后台浏览器,有点内嵌jetty的味道,通常在自动化测试或者爬虫领域用。

优化点

  • 池化技术,避免重复启动 对于其他语言进行进程间调用的话,频繁地调用进程进行上下文切换以及频繁创建对象及其消耗时间,因此可以进行连接池优化处理
  • 设置about:blank,避免状态没有清除的bug 在引入连接池之后,处理不好的话,难以避免的带来很多状态的错乱,类似java的threadlocal,在tomcat连接池中使用的话,如果上一个线程使用完没有清除掉,则下个复用该线程的请求则会读到脏数据。

phantomjs貌似没有reset的接口,这里可以使用一个黑魔法,在每次get的时候,先打开一个blank,然后再进行请求。

  • 开启disk-cache 如果对同一个页面访问比较频繁,则开启cache缓存一些静态资源,避免重复请求
  • 抛弃selenium,直接使用api 如果你是使用selenium的封装来调用的话,那么可以考虑直接使用原始api,更直接一些。
  • 构建分布式rest api服务 请求网络资源的处理,可能是非常耗时的,也及其不稳定,因此吞吐量肯定不高,高并发的时候很容易出现瓶颈,必要的时候进行分布式部署。

小结

除了phantomjs,chrome以及firefox也推出类似的headless版本,因此也多了几个选择,有待进行尝试。

doc

  • 【phantomjs系列】Phantomjs正确打开方式
  • 【phantomjs系列】Phantomjs Api介绍
  • 【phantomjs系列】Selenium+Phantomjs性能优化
  • 【phantomjs系列】Selenium+Phantomjs爬过的那些坑
  • Selenium+PhantomJS的爬虫那些事儿

本文分享自微信公众号 - 码匠的流水账(geek_luandun)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-11-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 聊聊jvm的PermGen与Metaspace

    对于垃圾收集算法来说,分代回收是高级算法之一。对象按照生成时间进行分代,刚刚生成不久的年轻对象划为新生代(Young gen-eration),而存活了较长时间...

    codecraft
  • leetcode之合并两个有序数组

    这里从后往前遍历,每次比较两个数组的值,取大的覆盖到nums1数组,同时移动对应的index;最后在判断下nums2数组有没有比较完,没有的话将nums2剩余的...

    codecraft
  • leetcode之合并两个有序数组

    这里从后往前遍历,每次比较两个数组的值,取大的覆盖到nums1数组,同时移动对应的index;最后在判断下nums2数组有没有比较完,没有的话将nums2剩余的...

    codecraft
  • Java & PhantomJs 实现html输出图片

    Java & PhantomJs 实现html输出图片 借助phantomJs来实现将html网页输出为图片 I. 背景 如何在小程序里面生成一张图,分享到朋...

    一灰灰blog
  • mybatis动态sql之bind标签

    这样肯定是不行的,#{}只是个占位符,"%#{lastName}%"会被当做一整个字符串。

    绝命生
  • php调用phantomJS截图

    mojocn
  • 记录过某常见WAF最新版

    今天在群里又有人问我怎么过某WAF,所以决定写个文章,记录下我注入时是如何过WAF的。

    FB客服
  • Tinker:技术的初心与坚持

    回想 Tinker 的初心,我们希望开发者可以用很小代价进行快速升级,它是国内追求快速迭代诉求。立项至今,Tinker踩了很多坑也填了很多坑。今天,我希望跟大家...

    张绍文
  • Tinker:技术的初心与坚持

    2016年3月10日,Tinker项目正式启动,并在同年9月23日举行的MDCC会议上开源。一年过去了,两个人,50%的工作时间。总的来说,填了一些坑,获得少许...

    微信终端开发团队
  • 大咖共探音视频风云,第八期TVP&腾讯云技术交流日圆满落幕

    2019年5月18日,上海腾云大厦,TVP&腾讯云技术交流日迎来了第八期活动。各路音视频以及AI技术大咖齐聚上海,共探音视频风云!

    TVP官方团队

扫码关注云+社区

领取腾讯云代金券