JVM如何设置DNS缓存失效时间
来源:互联网 发布:tensorflow应用领域 编辑:程序博客网 时间:2024/06/06 01:22
JVM为了提高效率,会将第一次的DNS结果缓存起来。而且你不重新启动JVM缓存永远不失效。
所以你的服务器一旦有了DNS更新的话,你只能重新启动服务来重新更新缓存。那么有没有什么办法可以设置一个缓存失效时间呢?JVM提供了两个启动参数:
设置解析成功的域名记录JVM中缓存的有效时间,这里修改为1秒钟有效,0表示禁止缓存,-1表示永远有效
-Dsun.net.inetaddr.ttl=1
设置解析失败的域名记录JVM中缓存的有效时间,这里修改为1秒钟有效,0表示禁止缓存,-1表示永远有效
-Dsun.net.inetaddr.negative.ttl=1
这里边有两个极端:
第一个极端就是永久不失效,那么带来的结果是对DNS更新的响应时间为无穷大,但是因为没有额外的DNS查询开销,可以使系统的吞吐量达到最大。
第二个极端就是永远失效,意味着每次都需要进行DNS查询,这样带来的结果是对DNS更新的响应时间缩短为无穷小,意味着只要DNS服务器有更新,自己的服务器也会立马感知此次更新,但是因为每次操作都需要DNS额外的查询开销,将使系统做有用功的比例减少,吞吐量将受到一定的影响。
所以就需要平衡对DNS更新的响应时间和系统的吞吐量。一般业界用秒级别作为失效时间(比如一秒或三秒)。这样在保证吞吐量的同时,也保证了对DNS更新的敏感性。
原文:http://blog.csdn.net/hongchangfirst/article/details/77448253
作者:hongchangfirst
hongchangfirst的主页:http://blog.csdn.net/hongchangfirst
阅读全文
0 0
- JVM如何设置DNS缓存失效时间
- 静态缓存设置缓存失效时间
- memcached缓存失效时间
- 设置 Ubuntu DNS 缓存
- 实例讲解:aiCache如何通过header-driven设置缓存失效
- 如何刷新DNS缓存
- 如何清理DNS缓存?
- 设置Session失效时间
- 设置Session失效时间
- session失效时间设置
- 设置session失效时间
- 设置session失效时间
- session失效时间设置
- session失效时间设置
- session 设置失效时间
- 配置redis缓存失效时间
- 浏览器、操作系统DNS缓存时间
- 浏览器、操作系统DNS缓存时间
- Ubuntu16.04安装搜狗输入法
- boost学习笔记之noncopyable
- C#设计模式
- python pip 导出安装包
- 【stm32f103】TIMER基本定时功能的使用(寄存器版)
- JVM如何设置DNS缓存失效时间
- Java和Scala学习日记5
- 连通图遍历策略之广度优先搜索(C语言)
- Binary Tree Maximum Path Sum ---lintcode
- JDBC连接MySQL数据库——案例
- JS图片压缩上传处理
- Memcached,Redis,MongoDB,HBase比较
- Spring RESTful
- Win32开发:完整的开发流程