起因

有朋友抱怨部署在国外机器上的prometheus访问很慢,每次打开需要等待十几秒。

分析

使用F12调试查看请求的资源,发现耗时主要集中在一个js和css上

解决

考虑把js和css下载到国内一台服务器上,服务器上搭建nginx,将这些访问较慢的静态资源放在服务器目录下,将其他请求代理到原来的站点。 之后需要使用域名访问,替代之前的IP+端口访问,访问速度正常了

server {
  listen 80;
  server_name xxx.cc;

  location = /prometheus/static/js/main.78875f45.js {
    root /data/;
  }
  location = /prometheus/static/css/main.4858e794.css {
    root /data/;
  }

  location / {
    proxy_pass http://xxxxxxxxx:9090;
  }
}

同理,当我们的站点,比如博客有些js、css访问较慢,可以下载到本地,修改源代码将js、css路径指向本地,这样也能加快访问。