1
Trim21 2019-05-19 01:59:10 +08:00
|
2
ochatokori 2019-05-19 02:05:37 +08:00 via Android
作为用户想要获得更快的载入速度我能想到的就只有加快 dns 解析,买更好的带宽,更好的路由器了
作为开发者的话就多了 不过做缓存这种事只能加快第二次的访问速度,第一次硬要说的话多了一层转发还慢了 |
3
registerrr 2019-05-19 02:08:55 +08:00
从原理上来讲会有提升,但是一般来讲用公网 DNS 来解析延迟低一点的也就 5,60ms 用自建的 1ms,为了降低这一点点几乎感觉不出来的延迟不值得去麻烦。当然时间多、对这个感兴趣,自己去折腾一下可以。
|
4
Mohanson 2019-05-19 02:40:01 +08:00 via Android
可是据我所知,操作系统是自带
|
5
Mohanson 2019-05-19 02:40:16 +08:00 via Android
dns 缓存的
|
6
jasonyang9 2019-05-19 07:59:50 +08:00
系统不一定自带 DNS 缓存,要看 DNS 客户端的实现。。。
|
7
datocp 2019-05-19 08:09:10 +08:00 via Android
习惯用 openwrt 里面带 dnsmasq,首先 dns 服务器设定为网关 ip 会快于外网 ip,甚至有必要拦截 udp53 强制使用本地 dns 解析。这主要基于网络延迟考虑的。
以前说什么用 8.8.8.8 114.114.114.114 之类的,由于网络封锁的存在,会出现直接给出错误的 ip 映射甚至连带 ip 封锁,甚至各种 cdn 加速的存在。习惯了直接用 isp 提供的 dns 解析,当然有必要的话,像在联通线路打不开农行就利用 dnsmasq 加载电信线路的解析结果。 另外网站加速打开,除了 dns 解析过程快,有时候 mtu 这种封包的拆解过程才能加速网络呑吐,典型的的就是很多路由打开亚马逊美国非常慢。 iptables -t mangle -A FORWARD -o pppoe-wan -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu |
9
likuku 2019-05-19 10:36:07 +08:00
看你访问的网站了... 假若你访问的网站的确解析都很慢,那么这还是有必要的(我最近就不得不在自己树莓派上重新搞起了 DNS 缓存服务器)。
另外,假若你能在你自有局域网里弄个闲置机器,装个 Squid,再通过它来访问网站,让它把你访问的页面(静态资源)尽可能都缓存在本地 RAM 里( /tmpfs ),将大幅度提高你高频访问的网站的访问速度 (十年前的老玩法了,简单粗暴效果明显)。 |
10
jerryrib 2019-05-19 11:07:10 +08:00 via Android
|
11
able 2019-05-19 11:18:09 +08:00
加速效果微乎其微
|
12
goodryb 2019-05-19 11:38:31 +08:00
1、如果你真要测试有没有效果,OS 层面弄一下好了,linux 下有 nscd,安装后需要配置一下,windows 下有 Dnscache 服务,开启就好。自建 dns 缓存就为了这几十 ms,没必要折腾。
2、前面还有人提到了 Squid,个人不建议个人用户安装这个,以现在的网络,没必要做缓存,反而还容易因为缓存出现问题。 |
13
goodryb 2019-05-19 11:45:14 +08:00
在 chrome 里面打开开发者工具,选中 disable cache,然后打开你要访问的页面,看下请求中 dns lookup 的耗时,以我这里访问 taobao 为例,各项时间解释看看下面 Google 的文档
https://developers.google.com/web/tools/chrome-devtools/network/reference#timing-explanation |
14
goodryb 2019-05-19 11:47:42 +08:00
貌似 disable cache 对 dns 缓存不起作用,找个很久不访问的网站,也就几 ms
|
15
likuku 2019-05-19 12:38:17 +08:00
@goodryb 常见国内网站的话,的确用不着折腾这些...
其它的嘛,有时还真需要,比如 运气不好所用的接入线路服务商很渣,又条件所限没法换。 |
16
smdbh 2019-05-19 12:52:20 +08:00
没有必要,瞎折腾,不如换个质量好点的宽带
|
17
JamesR 2019-05-19 13:15:27 +08:00
网页加载时间到底耗在如下 3 个地方:
1.我的电脑性能,处理器快不快,快的话浏览器打开快。 2.我的网络带宽大小,国内大网站一般没问题,跨国要看国际出口拥堵情况。 3.前 2 个没问题情况下,服务器的上行带宽,一般是百兆口或千兆口,国内带宽(或流量)昂贵,人越多越慢。 DNS 影响微乎其微,实际上电脑本机就开着 DNS 缓存,服务里面“ DNS Client ”服务就是,命令 ipconfig /displaydns 可显示本机 DNS 缓存,禁用“ DNS Client ”服务后命令失效。 |
23
qwvy2g 2019-05-20 06:45:52 +08:00 via Android
这个好像不是缓存 dns 解析结果,而是缓存网页。
|
24
titanium98118 2019-05-20 09:19:46 +08:00
你这个感觉不只是缓存 DNS,还缓存网页
|
25
soho776 2019-05-20 12:49:46 +08:00
宽带都 300 兆光纤了,现在那个网站不上 cdn 啊,根本不差 dns 这点时间。
|
26
iwtbauh 2019-05-20 14:35:29 +08:00 via Android
1. 现在主流桌面操作系统自带 DNS 缓存,且默认开启。
2. 路由器本身也可能会进行 DNS 缓存,并把自身的 DNS 服务通过 DHCP (或路由器广告( ra ),或无状态 DHCP )通知给客户端,openwrt 默认如此。 他这个行为不太可能有什么意义。 |
27
iwtbauh 2019-05-20 15:11:29 +08:00 via Android
|
29
tankren 2019-05-21 16:17:45 +08:00
pi-hole 了解一下
![pihole]( https://i.loli.net/2019/05/21/5ce3b419d723b63598.png) |
30
jocover 2019-05-21 17:38:03 +08:00 via iPhone
开呀,本地大约 100 和用户,一天缓存数也不过占用 700kb 的内存,干嘛不开呢
|