现象:
阿里云上有ECS,华东地区的,现在有美国和日本的客户反映访问我们的网站比较慢?部分美国客户上传图片上传不了,不能完成报名的操作。
在卡卡网上测试后如图,(卡卡网地址:http://www./)
原因:
公网延迟和国家防火墙导致的
维基百科地址:https://zh./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;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
4、开启服务,重新到卡卡网上测试,延时已经降了很多。
5、开启阿里云的海外CDN加速。因为我们工程结构是直接把网站需要的css,不涉及到业务的js,img等静态网页都是都是部署在工程里面,使用OSS+CDN实现动静分离,需要改发布流程,流程未完善,所以改用在原域名上加速。
定义的CDN缓存策略为
部署上cdn之后,再卡卡网上再次测试
测试结果很诡异,反而慢了
难道CDN没有生效,查看浏览器查看是否在启用CDN。
从上面黄色标注的地方可以看出,的确走了CDN,那为什么会慢呢?是不是测试软件本身的的问题呢?换个测试软件
https://www./InstantCheck/1/d13bd992-67cb-e711-879e-0003ff7328cc
的确有差别,但是还是能看出,有点慢。
到底怎么回事呢?
答:测试软件的测试方法和测试探针节点分布有关系。
再等等后面的真人测试结果吧
|