伴随网络、信息技术、移动支付等技术的快速进步,电商行业也在迅速进步,一时间涌现了很多的各种各样的电商网站,包含B2B、B2C与C2C的。这类网站天天都有成千上万的人访问,包括产品浏览、购买、比价等,这样高的访问量,需要要优化和调整网站的性能才能保证网站的稳定运行,给顾客带来好的购物与访问体验。优化电商网站的性能主要可以通过硬件升级、重构构建、页面优化、数据库优化等技术达成,通过这类技术优化后的电商网站可以大限度提升系统的高并发实行能力和运行效率,从而为更多的在线用户服务。
2系统构造
多省汇食材网”主如果一个食材价格比对、食材在线销售的网站,天天自动采集各大市场各种食材的价格,为用户提供食材比价的基础,同时联合提供商提供食材的在线购买和配送服务。该网站天天数据录人量和访问量巨大,现在的平台构架和技术非常难支撑现有些业务访问量,因此,需要对其进行性能优化。本次优化策略主要从页面优化、程序优化、数据库优化三个方面进行优化升级。
页面优化:主要从页面元素的布局合理性和HITP请求数等几方面进行考虑。
程序优化:主要在原有系统中引入数据缓存技术和静态页面生成技术,并同时配合用了AJAX技术对程序进行优化;
数据库优化:主要在数据库的优化中对SQL语句和表进行优化。
3系统优化的达成
3.1页面优化
3.1.1降低HTTP请求次数
Web页面包含了各种页面元素,比如产品图像、页面样式表、JS脚本和F1ash动画等,当用户访问页面时,浏览器需要将这类元素下载到当地进行分析展示。当HTTP访问次数过多,服务器性能和互联网带宽都会被下载任务所占用因此,需要降低HTTP的请求次数。这只不过页面优化的开始,依据调査得知电商网站的访问量中有40%-60%是初次访问,所以加快初次访问的速度是提高用户购物体验的重要。
3.1.2合理设置页面过期时间
为了提高用户的购物体验、吸引客户的目光,电商网站需要将网站设计得丰富多彩,增加各种页面元素,当推广客户端首次访问时,不能不面临很多的HITP请求,假如没设置页面过期时间,当用户下次访问时,又得第三提交重复的HITP请求,设置了页面过期时间后推广客户端就会将这类资源缓存下来,当顾客下次访问时推广客户端就能用当地缓存的资源来展示页面,从而降低HTTP请求的次数和大小使得网页加载速度变快。但页面的过期时间设置过大,推广客户端会一直缓存之前的资源,当用户访问网站时不再继续下载新的资源文件,页面将会过时甚至没办法显示,因此,设置适当的页面过期时间非常重要。
3.1.3压缩页面元素
页面上的不少元素基本都是图片、样式和JS,这类文件的压缩比都非常大,经过压缩可以降低体积、加快互联网传输时间,推广客户端在收到压缩后的文件后再进行解压获得原来的文件,将负载重压从服务器端转移到推广客户端,从而提升服务器的响应时间。HTTP/1.1的规范中Web推广客户端的HTP请求中可以通过设置 Accept- Encoding头来表明支持的压缩种类。
推广客户端浏览器在访问页面时依据页面头设置的文件种类来决定是不是压缩。假如需要压缩,则将HIML文件、CSS文件和JS文件、图片文件等进行压缩,通过压缩HTTP响应内容可降低页面响应时间。
3.1.4合理放置样式表和脚本文件
顾客在访问一个页面时第一看到的是页面的成效,然后才会移动鼠标触发页面的特效,依据这一用户习惯,可以将CSS样式表放在HTML的头部,将JS引入文件放在页面的底部,这是由于浏览器分析HIML文件使用的是顺序实行方法,如此因为CSS文件与样式表在头部可以让页面的布局和展示非常快展示在用户眼前,提升顾客访问页面的友好度、提高购物体验。将JS文件放在底部是由于当所有页面都加载完毕后才开始加载JS特效,当用户点击特效时JS已加载完毕,如此可以借助顾客的时间差来增加页面加载的时间。
3.1.5把 Javascript和CSS放到外部文件中
电子商务网站中的页面数目不少,假如每一个页面中都写入JS和CSS文件势必致使HIML文件过大,因此,可将Javascript和CSS放入几个单独的外部文件封装起来,然后在页面中导人,如此做的明显好处有两个:第一,可以便捷代码的管理、维护,假如将 Javascript、CSS和页面代码起写人页面中,那页面代码将会相当宏大并且杂乱,维护起来将非常繁琐艰难;第二,用外部文件会加快页面显示速度,由于外部文件会被浏览器缓存,这在多次访问时可大大加快访问速度。
3.2程序优化
2.1页面静态化
动态网页需要实行拼接等操作,耗时较大。而顾客访问最多的就是产品详细页面,每一种产品的详细页面在生成过后不经过人为操作是不会发生变化的,因此,可以将产品详情介绍页面进行静态化以加快服务器的响应时间。对于产品详情介绍页在添加完产品保存后将该页面进行静态化,对于其他页面当顾客首次访问该页面时,后台服务程序第一检査该页面是不是有静态页面,假如有直接返回,假如没则生成静态页面,并更改该页面的访问路径,当下次访问时直接返回该页面的静态页面。
2.2AJAK提交
在价格通知模块中,当用户选择一个产品后,仅需用选择产品价格时间查找价格,点击查找后整个产品详情介绍页面不会改变,发生改变的只有产品的价格属性,所以无需重新请求并刷新整个页面,可以用AJAX提交局部刷新请求,降低互联网访问次数,提升页面的流畅度,价格数据更新迅速,客户体验愈加快捷流畅.
3数据库优化
3.1SQ工L语句的优化
本系统数据库用 MYSQL5.0,对SQL语句进行的优化将基于此数据库来展开。在本系统中优化SQ工L语句的步骤是:第一运用 show status命令知道各种SQL的实行频率然后定位到实行效率较低的SQL语句,通过 explain命令来剖析低效的SQL的实行计划,然后依据出现的问题采取相应的优化办法。
(1)用索引:增加索引可以降低检索的时间,可以在常常查看的字段上增加索引,但增加了索引之后对于数据的修改性能会有影响,这是增加索引需要额外注意的事情。在本系统中在用户的用户名和密码与产品的名字上增加索引,以提升用户登录的速度和查找产品的速度。
(2)用 analyze和 check table 1命令按期剖析和检查表。
(3)按期优化表,电子商务系统中的产品表和产品推荐表等在经过了不少次的访问与修改后存在不少碎片,此时用 optimize table命令来对数据表中的空间碎片进行整理与合并,以降低空间的浪费和提升操作的效率。
(4)优化SQL部分语句,导入大量量数据时,用load data infile i命令可有效提升导入效率,用索引来满足order by子句将无需额外的排序,对于嵌套査询,有的状况下用JON来代替子査询将会得到更高的效率。
3.3.2通过拆分表提升访问效率
在本销售管理软件中,有一模块叫“产品推荐模块”,本模块主如果当顾客查询或者购买一个产品后系统需要关联类似的产品,在用户下次登录时进行推荐。
因为顾客每次点击一种产品都会进行关联,假如一个用户天天点击10个产品,天天有500个顾客,那样一个月表里将会有15万条记录,假如每一个用户登录时都在这个表里进行关联产品的话,那将会出现速度缓慢的状况。这里将使用分表的办法来提升査询效率,将一个月按时间分成三部分,记录分别存放在三个表里,如1711表示2017年1月第部分的记录,因为用户下次再登录网站购买产品多为10天以内的用户,大多数用户都会在近期表里命中,故如此可以有效提升记录的命中率,提升数据査询的性能。
系统性能測试
4.1用AB进行性能测试
第一,借助AB对优化后的网站进行性能考察,运行命令为ab-c50-n1000http://localhost/(虚拟50个用户并发实行1000次访问)。
测试结果来看,经过优化后的电商网站的服务器负载能力有了肯定的提高,由原来每秒只能响应62.11个用户请求提升到了75.21个,并且50%的用户请求在656ms内得到了响应。
4.2用 Webload进行性能测试
用 Webload对整个网站进行测试,第一启录制操作脚本,然后通过脚本打造重压測试模板,接着进行重压测试,在“多省汇食材网”的重压测试中,模拟日常的用户对页面进行的一系列操作,重压測试运行时间为8分钟。通过测试比较,将重要参数取出来对比。
可以看出,在8分钟的重压测试中,同样的并发访问量,优化后平均每一个页面返回时间少了0.321秒,在480秒内优化后可以多返回331个页面,平均每秒多返回0.872个页面,点击数目也每秒增多了5.008次。
电商网站建设系统的优化是一个动态化的工作,本文主要以前台页面,数据库等方面对网站进行了优化,并做了测试,达到了预期的目的,除此之外时优化有不少办法,如打造多服务器群组进行负载均衡、CDN( Content Delivery Netw ork,内容分发互联网)的应用等,将会在更进一步的优化工作中得到应用。
推荐标题电商企业网站设计性能优化