解决国外用户访问网站慢的问题

来源:互联网 发布:四旋翼pid算法 编辑:程序博客网 时间:2024/04/30 08:09

现象:
阿里云上有ECS,华东地区的,现在有美国和日本的客户反映访问我们的网站比较慢?部分美国客户上传图片上传不了,不能完成报名的操作。
在卡卡网上测试后如图,(卡卡网地址:http://www.webkaka.com/)
这里写图片描述

原因:
公网延迟和国家防火墙导致的
维基百科地址:https://zh.wikipedia.org/wiki/%E9%98%B2%E7%81%AB%E9%95%BF%E5%9F%8E
解决方案:
第一、使用阿里云的vpc,但是价格太贵,一般游戏公司会采用。

这里写图片描述

第二、分区域部署业务,数据做双向同步,DTS可以支持mysql双向同步。但是我们数据库部署在ECS上,没有部署云数据库上,切换成本太高。

第三、分区域部署业务、使用接口进行同步,虽有延迟,但是能满足我们的网站需求,故采用。

下面说一下怎么部署
1、买一台ECS的海外服务器,根据网站需求,我们只有前端部分,故要求不高
这里写图片描述
2、部署JDK,nginx,tomcat环境,步骤省略,具体文章可参考其他网络资料
3、申请域名,配置nginx

#run    upstream  RUN  {        server   XX.27.54.XX:9500;        }    server {        listen       80;        server_name  run.XXXXX.cn;        location / {            proxy_next_upstream error timeout http_500 http_502 http_504;            proxy_read_timeout 600s;            proxy_set_header   Host             $host;            proxy_pass         http://RUN;            proxy_set_header   X-Real-IP        $remote_addr;            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;            proxy_intercept_errors on;            client_max_body_size 20M;            client_body_timeout 120s;            client_body_buffer_size 256k;            index  index.html;            }        location ^~ /errorpage {        root /home/nginx/nginx_data;        }        error_page  500 502 503 504 /errorpage/500.html;        error_page  400 404 /errorpage/404.html;        error_page  403 /errorpage/403.html;        }

4、开启服务,重新到卡卡网上测试,延时已经降了很多。
这里写图片描述

5、开启阿里云的海外CDN加速。因为我们工程结构是直接把网站需要的css,不涉及到业务的js,img等静态网页都是都是部署在工程里面,使用OSS+CDN实现动静分离,需要改发布流程,流程未完善,所以改用在原域名上加速。

这里写图片描述

定义的CDN缓存策略为
这里写图片描述

部署上cdn之后,再卡卡网上再次测试
测试结果很诡异,反而慢了
这里写图片描述

难道CDN没有生效,查看浏览器查看是否在启用CDN。
这里写图片描述

这里写图片描述

从上面黄色标注的地方可以看出,的确走了CDN,那为什么会慢呢?是不是测试软件本身的的问题呢?换个测试软件
https://www.host-tracker.com/InstantCheck/1/d13bd992-67cb-e711-879e-0003ff7328cc

这里写图片描述

的确有差别,但是还是能看出,有点慢。

到底怎么回事呢?
答:测试软件的测试方法和测试探针节点分布有关系。

再等等后面的真人测试结果吧

原创粉丝点击