跨境电商独立站优化
对于所有的跨境电商独立站来说,网站运行速度决定了客户选择去留,大多数用户期望的网站加载时间是3秒,如果时间长过3秒,网站就开始流失用户了。
之前有研究机构针对亚马逊的网站打开速度做过测算,结果是Amazon加载时间每延长1秒一年就会减少16亿美元的营收。这是一个很可怕的数字,在从业这么多年,遇到很多跨境电商独立站打开速度普遍较慢,因为网站架构的复杂度,导致网站打开需要加载的资源过多,慢就成了必然。
那么,跨境电商独立站到底该如何进行速度优化呢?下面就列举几个点进行说明:
1:服务器选择
我们通常在跨境电商独立站建设的时候会选择Linode,vultr等独立服务器,这些服务器在全球多个国家有机房,我们以vultr为例。
这里列出了很多机房所在的城市供大家选择,在我们保证客户访问速度的同时还要兼顾我们自己的访问,由于某种不可抗因素,很多地方的服务器访问速度会非常慢,这就导致我们在给网站上传资料的时候会丢包,或者中断。如果我们面对的客户主要是北美地区的,那洛杉矶节点是一个好的选择。之前我们做过相应的测试,美国西海岸的服务器和美国中部东部的服务器速度差异不大,但对我们自己来说,速度差异就非常大了,以前我们在运营期间曾选择达拉斯区域的服务器,经过路由追踪,发现中转节点达到19个,而且很多节点都出现了丢包现象。而西海岸的服务器则少有此种现象出现。
2:网站静态文件优化
通常来说,导致网站加载速度慢绝大多数情况下是因为静态文件导致的,也就是css、js、图片等资源文件,解决途径有几种:
A)CDN
一般来说,小型的独立站用不到cdn,因为访问量并不大,用不用CDN区别并不是很大,但对于流量较高的网站,CDN还是很有必要的,客户在访问网站的时候,从CDN请求静态文件,而不是从服务器直接请求,这样降低了网站服务器的资源消耗,也加快了网站的加载速度。
B)压缩资源文件
通常情况下,我们的css、js、图片等资源文件会以源文件的形式发送到客户端,某些极端情况下,一个静态文件的大小可能会高达500kb到1mb左右,由于网站渲染是以自上而下的方式进行的,如果资源文件加载在头部,且未进行压缩,会导致整个加载过程极其缓慢,在资源未加载完成的时候,就形成了渲染阻塞,网站显示是一片空白,那么这个时候,压缩资源文件就非常重要了,经过压缩的资源文件体积会大幅度减少,这样无疑会加快网站加载速度。
另外,我们通常所见的还有js最小化压缩,即在不改变js文件逻辑的情况下将js文件最小化压缩,有很多工具可以做到,如Grunt、yuicompressor等。此处不对这些工具进行讲解,大家可自行查找相应的教程。
C)静态文件缓存
浏览器在加载静态文件的时候,是从服务器直接根据路径下载到本地来解析的,如果文件没有发生任何改变,那么反复多次的下载就没有必要了,不但占用服务器网络资源,还会导致网站加载速度缓慢,这时候,我们就用到了静态文件缓存。开启服务器静态文件缓存后,静态文件只在第一次访问网站的时候从服务器下载至本地浏览器解析,以后再次打开页面的时候,浏览器会直接从缓存区读取已缓存的静态文件,这样避免了二次请求,也加快了网站的访问速度。下面两张图大家可以对比一下,加载速度差异是非常大的。
3:服务器缓存机制
由于我们一直使用PHP作为系统开发语言,针对PHP,我们通常将缓存分为以下几种:
A)代码级缓存
我们在使用PHP开发系统的时候,会将一些展示型的内容做静态化或者将部分代码合并提取出来,单独读取,在PHP7中,开启OPcache后,不管是模板渲染还是文件加载,速度都远高于之前php5时代。
我们曾做过相应的测试,我们自己的跨境电商独立站在PHP7开启opcache后,速度较之前使用PHP5提升了五倍不止。
B)数据缓存
数据缓存通常是为了减少数据库负载,不过也会极大的提高网站的运行速度,以我们独立站为例(Magevel Ecommerce System),在将数据库的数据调取出来后进行缓存,网站的加载速度提升了40%以上。
C)缓存服务器
现在市面上流行的缓存服务器非常多,我们常用的是redis(虽然它本质是k-v数据库)和memcached,由于系统先天性支持这两种缓存服务器,我们会将代码缓存、数据缓存、会话统统放进redis,在网站的运行过程中,系统从缓存服务器读取已缓存的信息直接反馈给用户,减少了因PHP语言特性所导致的反复初始化及数据库连接,极大的提升了网站的运行速度。
以上这些优化手段,在我们的跨境电商独立站运作过程中,均得到了很好的应用,同样的手法,也适用于各种线上系统。
这些优化只是在技术层面上针对独立站做出的一些性能的优化,而真正的跨境电商独立站运营远不止于此。
跨境电商独立站运作考验的是一个团队整体的综合实力,包含技术、运营、策划、广告、推广等很多方面,持续关注,后续会有更多的经验分享给大家。