0325-Qt镜像速度排行
前言
给别人安装QT的时候遇到了需要镜像的情况
下载 online-installer
https://mirrors.tuna.tsinghua.edu.cn/qt/official_releases/online_installers/
执行安装程序
.\qt-online-installer-windows-x64-4.8.1.exe --mirror https://mirrors.aliyun.com/qt/
发现
我们注意到这里
--mirror https://mirrors.aliyun.com/qt/
用到了镜像站地址,我在实际使用的时候发现,不同镜像站的下载安装速度不一样。
于是我测试了一下,发现 USTC 的镜像站速度居然比 tsinghua 的还要快,这让我大为震撼。
QT镜像站
以下是一些 Qt 镜像站
中国科学技术大学:http://mirrors.ustc.edu.cn/qtproject/
清华大学:https://mirrors.tuna.tsinghua.edu.cn/qt/
北京理工大学:http://mirror.bit.edu.cn/qtproject/
南京大学:https://mirror.nju.edu.cn/qt
腾讯镜像:https://mirrors.cloud.tencent.com/qt/
阿里云镜像:https://mirrors.aliyun.com/qt/
官网镜像列表:https://download.qt.io/static/mirrorlist/mirmon/
测试代码
下面的代码用于测试几个镜像站点的访问速度。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <curl/curl.h>
#define NUM_MIRRORS 8
// 镜像站列表
const char* mirrors[NUM_MIRRORS] = {
"http://mirrors.ustc.edu.cn/qtproject/",
"https://mirrors.tuna.tsinghua.edu.cn/qt/",
"http://mirror.bit.edu.cn/qtproject/",
"https://mirror.nju.edu.cn/qt",
"https://mirrors.cloud.tencent.com/qt/",
"https://mirrors.aliyun.com/qt/",
"https://download.qt.io/static/mirrorlist/mirmon/",
"https://download.qt.io/"
};
// 回调函数,用于测量响应时间
size_t write_callback(void* contents, size_t size, size_t nmemb, void* userp) {
return size * nmemb; // 简单地返回数据大小
}
int main() {
CURL* curl;
CURLcode res;
struct curl_slist* headers = NULL;
double response_time;
int i;
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if (curl) {
headers = curl_slist_append(headers, "Accept: */*");
headers = curl_slist_append(headers, "Connection: close");
for (i = 0; i < NUM_MIRRORS; i++) {
curl_easy_setopt(curl, CURLOPT_URL, mirrors[i]);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_NOBODY, 1L); // 只获取头部信息,不下载内容
curl_easy_setopt(curl, CURLOPT_TIMEOUT, 10L); // 设置超时时间为10秒
res = curl_easy_perform(curl);
if (res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed for %s: %s\n", mirrors[i], curl_easy_strerror(res));
continue;
}
curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME, &response_time);
printf("Mirror: %s\nResponse Time: %.3f seconds\n", mirrors[i], response_time);
}
curl_easy_cleanup(curl);
curl_slist_free_all(headers);
}
curl_global_cleanup();
return 0;
}
编译
gcc -o mirror_test mirror_test.c -lcurl
如果报错说:
mirror_test.c:4:10: fatal error: curl/curl.h: No such file or directory
4 | #include <curl/curl.h>
| ^~~~~~~~~~~~~
compilation terminated.
则需要安装一个 libcurl
sudo apt-get install libcurl4-openssl-dev
测试结果:
我们可以看到:
bit北理工速度最快 10 毫秒, MVP
ustc以 30 毫秒的速度位居第二
南大 80毫秒
腾讯、阿里、tsinghua 都在 300-400 毫秒的区间,颇为滑稽
官方源 1.2 秒,纯纯躺赢狗


浙公网安备 33010602011771号