位置: 编程技术 - 正文

Nodejs下DNS缓存问题浅析(nodejs ddd)

编辑:rootadmin

推荐整理分享Nodejs下DNS缓存问题浅析(nodejs ddd),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nodejs缓存数据,nodejs cache,nodejs dns,nodelocal dnscache,nodejs 缓存,node dns,nodejs 缓存,nodejs dns,内容如对您有帮助,希望把文章链接给更多的朋友!

无意间看到一个文章,是关于nodejs下发送http请求不会缓存dns结果的。这意味着,如果你基于nodejs写了一个http采集程序,不提供dns缓存则会让每次请求都傻傻的重复解析域名为ip地址。听起来会非常影响性能不是么?

我的项目中,发送http请求并不是使用的node原生的http库,而是依赖一个常用的Request库。我查阅了一下该库的相关文档和github issue,也发现了一些和dns相关的帖子。不过多数说的是,关于dns问题,本身并不是Request库的范畴,而归结于nodejs的内核问题。omg,感觉好深奥啊!

幸好,上面提到的那篇文章中也提出了两个解决方案:

应用级别:dnscache

操作系统级别:Bind, dnsmasq 和 unbound

Nodejs下DNS缓存问题浅析(nodejs ddd)

不论是哪个方案,看起来似乎都很简单,只是安装并初始化即可。但问题是,我们怎么来验证它们真实有效?由于我本地的开发机操作系统环境是win7 bit,所以上文提到的操作系统级别的方案我无法测试。那我们就来看一下应用级别方案到底是否有效吧~~

首先,我们需要让win能追踪dns请求,这里我找到了一个软件,下载后不需要安装直接运行即可。然后,我们还需要一个清除缓存的方法,可以看这里,简单说就是在终端中执行:

工具就准备完毕了,我们创建一个测试脚本:

好的,现在打开DNSQuerySniffer,然后先清理一下本地DNS缓存,一切就绪后执行我们的测试脚本node test.js。你会在DNSQuerySniffer中看到一次DNS请求及其相关信息。在一定的时间间隔内,反复运行我们的测试脚本你会发现并不会再次触发DNS请求,这说明什么?我的win7环境本身就自带操作系统级别的DNS缓存(只是缓存时间很短)。

修改我们的测试脚本如下:

这次我们在执行测试脚本后,快速清空本地DNS缓存(如果你手速不快,可以适当延长setTimeout的触发间隔),你会发现,两秒后的http请求并没有重新查询DNS,这说明什么?很明显,我们的应用自己维护了DNS缓存,所以第二次请求根本就不会关心操作系统本地是否存在对应的DNS缓存记录。

以上所述是小编给大家介绍的Nodejs下DNS缓存问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

Node.js 实现简单小说爬虫实例 最近因为剧荒,老大追了爱奇艺的一部网剧,由丁墨的同名小说《美人为馅》改编,目前已经放出两季,虽然整部剧槽点满满,但是老大看得不亦乐乎

node+experss实现爬取电影天堂爬虫 上周写了一个node+experss的爬虫小入门。今天继续来学习一下,写一个爬虫2.0版本。这次我们不再爬博客园了,咋玩点新的,爬爬电影天堂。因为每个周

Node.js测试中的Mock文件系统详解 Mock文件系统相关的工具包括:Mockfs模块的工具mock-fs。Mockrequire模块的工具mock-require。安装mock-fs和mock-require都是NPM软件包,在项目中可通过npm直接安装:

标签: nodejs ddd

本文链接地址:https://www.jiuchutong.com/biancheng/374087.html 转载请保留说明!

上一篇:Node.js 数据加密传输浅析(nodejs数据加密)

下一篇:Node.js 实现简单小说爬虫实例(nodejs实战教程)

  • 季度企业所得税可以不预缴吗
  • 权益性支出与收益性支出区别
  • 物业公司可以开租赁发票吗
  • 政府会计制度固定资产折旧哪个月开始计提
  • 土地置换账务处理流程
  • 建筑业的进项税怎么抵扣
  • 房贷利息抵个税细则 两套房
  • 去年购进的货物今年才收到发票
  • 其他业务收入的核算内容
  • 企业分立房产税税收政策
  • 以公允价值计量且变动计入其他综合
  • 旅行社 增值税
  • 企业用现金支付业务招待费1000元
  • 代持股 税收
  • 网络技术服务费 税率
  • 企业没交社保年限怎么算
  • 列举20种不征增值税产品
  • 暂估销售收入怎么做分录
  • 所得税季报填写说明
  • 小规模纳税人怎么开增值税专用发票
  • 母公司拨款给子公司的账务处理
  • 无票收入已报税,后来开票账务处理
  • 收到承兑后背书怎么处理
  • 冲回坏账准备分录
  • 企业无形资产包括
  • 软件外包付款流程
  • macbook 怎么换壁纸
  • 不征税收入有哪些条件
  • 发票作废之后税钱怎么退回了
  • 判断企业存货过多的判断方法
  • 小规模纳税人购车是怎么抵税的
  • 龙骨花的养殖方法作用
  • php数据库连接失败怎么办
  • php swoole websocket
  • 记账凭证和原始凭证都是登记账簿的直接依据
  • 购买股票会计处理流程
  • yolov3图像识别
  • 小微企业延缓缴纳
  • phpxdebug
  • 毕业设计烦死了
  • stm32cubeIDE开发串口 修改速率
  • 卖家运费险是不是退货免费
  • 登记银行存款日记账的凭证有哪些
  • mysql显示数据库语句
  • 转让债券应交的增值税税额
  • 小微企业需要专职安全员吗
  • mysql基本查询
  • sql跨服务器查询语句
  • 小企业会计准则和一般企业会计准则的区别
  • mysql load local
  • 金税四期怎么监控个人账号
  • 定期定额征收和核定征收哪个好
  • 个体工商户还没开业也要报税吗
  • 一般纳税人购入商品会计分录
  • 当天开具的发票当天不能勾选认证吗?
  • 借分公司的款收据怎么开
  • 收到第三方补助怎么做账
  • 固定资产多少钱标准
  • 暂估的应付账款需要调整报表吗
  • 企业职工薪酬如何确定
  • 应付票据贴现利息收入会计分录
  • 注销公司需要多长时间完成
  • 商业会计的任务有哪些
  • mysql source 慢
  • 在window7
  • winxp系统纯净版
  • ubuntu1
  • 设置u盘为只读
  • winxp系统占用c盘多少
  • linux 磁盘情况
  • win7记事本可以保存的格式
  • Python 中urls.py:URL dispatcher(路由配置文件)详解
  • android升级是什么意思
  • 数据类型 python
  • great 搬运工
  • node-js
  • Unity3d C# HttpWebRequest 异步下载文件
  • 新公司税务登记完后还需要什么流程
  • 金融商品转让都包括什么
  • 食药监局下午几点上班
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设