提高Mac下itunes的下载速度

简介: 给老婆买了iPhone4s之后,开始在Mac上用iTunes下载软件,发现速度龟速,好歹家里也是10M光纤啊,这个小水管的下载速度绝对不能忍受,于是百度了一下,发现可能是域名解析造成的问题。苹果为App Store准备了a1.phobos.apple.com到a2000.phobos.apple.com一群服务器,如果连接到比较慢的服务器上,那肯定是小水管了。

给老婆买了iPhone4s之后,开始在Mac上用iTunes下载软件,发现速度龟速,好歹家里也是10M光纤啊,这个小水管的下载速度绝对不能忍受,于是百度了一下,发现可能是域名解析造成的问题。苹果为App Store准备了a1.phobos.apple.com到a2000.phobos.apple.com一群服务器,如果连接到比较慢的服务器上,那肯定是小水管了。


解决方案就是探测一个最快的IP,然后在HOSTS文件中将所有的域名都指向这个IP。看网上的一些资料,都是使用一个Windows下的工具来探测,可是我这里是Mac没有Windows啊,想想这个问题不难,写了一个脚本来探测最快的IP。代码如下:


 1 #!/bin/sh
 2 
 3 #  Find the fastest apple store hosts
 4 
 5 printf "%-20s\t%-16s\t%-10s\n" "Domain" "Ip" "Avg Ping"
 6 #printf "Domain\tIp\tAvg Ping\n"
 7  for ((I=1 ;I < 2001; I++ )); do
 8     HOST="a$I.phobos.apple.com"
 9     TEMP=$(ping -c 4 $HOST)
10     IP=$( echo $TEMP | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | uniq)
11      TIME=$( echo $TEMP | grep -oE '\/([0-9]*\.[0-9]*)\/' | grep -oE '[0-9]*\.[0-9]*')
12     printf "%-20s\t%-16s\t%-10s\n" $HOST $IP $ TIME
13 done


使用这种提速的方法有个问题需要注意,万一哪天你所指向的那个IP停机维护了,可能你都无法访问iTunes的App Store了,这时只需要找一个可用的IP,替换一下HOSTS中的内容就可以了。


使用这种方式后,下载的速度有所提高,但是并没有到达令人满意的程度。后来在参考资料 4 中看到单独的ping值并不能反映网络的快慢,那么究竟如何找到一个最合适的下载服务器呢,这个还需要研究一下。


在测试过程中,我将DNS切换到了Google Public DNS上,发现同样的域名a1.phobos.apple.com返回的IP发生了变化,猜测Apple在iTunes App Store的部署上采用了CDN的方式。虽然用了8.8.8.8之后,ping的一些结果变快了,但是Mac的系统更新变的特别的慢,应该是DNS将IP解析到国外去造成的。


看来网络世界的配置还真是复杂,一个改动可能影响多个方面,要想达到一个最优,只能是动态调整了。


参考资料:

1、加快iTunes从苹果App Store应用商店下载软件或App更新包速度的方法

2、提高iTunes下载速度终极大法

3、修改HOST提高下载速度

4、Google超快速DNS服务器:8.8.8.8和8.8.4.4

5、Google Public DNS


相关文章
|
1月前
|
开发工具 git iOS开发
Mac 安装软件包管理工具Homebrew
Mac 安装软件包管理工具Homebrew
|
3月前
|
Unix 网络安全 iOS开发
Mac 电脑如何安装Wireshark?
Mac 电脑如何安装Wireshark?
Mac 电脑如何安装Wireshark?
|
4月前
|
编解码 Linux Android开发
安卓投屏神器 Scrcpy 安装与使用(支持 Mac、Windows、Linux)
安卓投屏神器 Scrcpy 安装与使用(支持 Mac、Windows、Linux)
231 0
|
7天前
|
Java Android开发 芯片
Mac M芯片安装DBeaver Ultimate
Mac M芯片安装DBeaver Ultimate
12 0
Mac M芯片安装DBeaver Ultimate
|
4月前
|
Kubernetes API Docker
Mac docker-desktop 安装单机版k8s
Mac docker-desktop 安装单机版k8s
104 0
|
1月前
QT 5.14.2版本 MAC环境安装部署流程
QT 5.14.2版本 MAC环境安装部署流程
|
1月前
|
iOS开发 MacOS Python
Mac安装pip报错的解决办法
Mac安装pip报错的解决办法
|
1月前
|
存储 Ubuntu Linux
如何在 Mac M1 (Apple Silicon) 上安装 ABAP 1909
如何在 Mac M1 (Apple Silicon) 上安装 ABAP 1909
14 0
|
2月前
|
NoSQL 关系型数据库 MySQL
Windows、Linux、Mac安装数据库(mysql、MongoDB、Redis)#0
不同系统下进行MySQL安装、MongoDB安装、Redis安装【2月更文挑战第5天】
441 5
Windows、Linux、Mac安装数据库(mysql、MongoDB、Redis)#0
|
2月前
|
关系型数据库 MySQL 数据安全/隐私保护
【MySQL】 Docker 安装 MySQL8.0(mac)
【MySQL】 Docker 安装 MySQL8.0(mac)