首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >减少来自欧盟服务器的美国用户之间的延迟

减少来自欧盟服务器的美国用户之间的延迟
EN

Server Fault用户
提问于 2017-10-12 06:27:53
回答 1查看 939关注 0票数 0

我在泡菜里。我原以为我的服务器在加拿大,但原来是在法国。我现在没有时间进行服务器迁移(如果访问者是美国的话,这是75%的最终目标)。

使用pingdom上的网站速度测试,当我从瑞典测试它时,第一个字节等待大约是140 is。当我从加利福尼亚测试时,大约是680毫秒。我需要尝试和减少这一点,因为谷歌说,它是缓慢的爬行网站和总体上,大多数访问者来自美国,所以我需要改善他们的经验。

Cloudflare正在缓存静态资产,因此,虽然css、js和图像的延迟也在600+区域,但一旦Cloudflare获取文件,它们就会下降。我现在关注的是php文件。

我无法使用nginx,因为我不能通过代理完成100%的html缓存。不过,我可以使用redis缓存99%的HTML。我已经升级到php7,Apache现在通过快速CGI与它一起工作。我已经使网站尽可能快,我可以通过沉重的内存缓存和摆脱所有未使用的模块等。这个网站是相当快的测试从pingdom加利福尼亚花2-3秒,以充分呈现一个页面,没有击中HTML缓存。然而,如果我能摆脱其中的一些600毫秒的延迟,我将是微风。

除了在欧盟和美国拥有一台服务器和使用负载均衡器之外,我还能做些什么来加速美国用户的体验并消除其中的一些不足呢?

我正在使用Apache2.4和php7 (快速CGI)在法国服务器上的100 in连接上运行Centos 7。服务器专用于16 is内存和4核xeon (8线程@2.4ghz )。

EN

回答 1

Server Fault用户

发布于 2017-10-12 07:26:09

你提到的回应时间听起来太过了。我首先要验证,当网络被从等式中删除时,这些响应能产生多快。

尝试在服务器本身上运行一个命令来下载页面,并查看花费了多少时间。如果您想对单个资源进行计时,可以使用wgetcurl轻松地做到这一点。如果您想要能够识别呈现页面所需的所有资源并下载它们的东西,则需要查看其他工具。

为了测量您尝试使用来自世界各地位置的单个ICMP回波请求到您的服务器的延迟类型,看看网络单独增加了多少时间。有很多网站可以为你做这样的测试。

即使不能缓存内容,在服务器前放置代理也有潜在的好处。代理可以位于靠近用户的位置,并且代理可以提前建立到后端服务器的https连接,这样用户只需要等待跨大西洋链接上的单一往返,而不必等待在用户开始加载页面时必须建立连接时所需的两个或两个以上的连接。

此外,当您在连接的每一端控制服务器时,您将能够更好地测量跨越大西洋的连接上的往返、抖动和数据包丢失。能够测量它是朝着改进它迈出的第一步。

最后,了解页面结构为下载所有资源增加了多少往返。代理可以为每个资源提供一次往返,但是页面的结构决定了可以并行下载多少。例如,如果页面引用了一个javascript文件,然后该脚本在运行时下载了一个图像,那么您至少需要三次往返,因为浏览器在上一次下载之前无法开始下载下一次。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/878070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档