收藏 分享(赏)

电子商务网站性能优化.doc

上传人:无敌 文档编号:166366 上传时间:2018-03-22 格式:DOC 页数:6 大小:58.50KB
下载 相关 举报
电子商务网站性能优化.doc_第1页
第1页 / 共6页
电子商务网站性能优化.doc_第2页
第2页 / 共6页
电子商务网站性能优化.doc_第3页
第3页 / 共6页
电子商务网站性能优化.doc_第4页
第4页 / 共6页
电子商务网站性能优化.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、电子商务网站性能优化 刘佳 宁夏财经职业技术学院 摘 要: 笔者以某电子商务网为例, 介绍如何对原有网站进行技术优化。优化过程将分别从网站页面优化、程序优化和数据库优化三个方面进行分析。在页面优化方面, 从页面元素组成、HTTP 请求、页面布局分析多方面进行优化;在程序优化方面, 使用服务器数据缓存技术, 将数据缓存到内存, 同时还在部分程序中加入 AJAX 技术和静态页面生成技术;在数据库优化方面, 主要优化存在查询缓慢问题的 SQL 语句, 还要优化数据库表以及 MYSQL 配置。在优化网站之后, 使用测试软件 Web Load 和 AB 对网站进行性能测试, 发现网站负载能力有所提高,

2、达到了网站优化的目的。关键词: 网站优化; 性能; 电子商务; 数据库; 作者简介:刘佳 (1983-) , 女, 四川江津人, 本科, 助教。研究方向:数据库。E-commerce Website Performance OptimizationLiu Jia Ningxia Finance Abstract: The author takes an e-commerce network as an example, introduces how to carry on the technical optimization to the original website. In the as

3、pect of page optimization, it is optimized from many aspects, such as page element composition, HTTP request and page layout analysis. In the aspect of program optimization, the server data cache technology is used to cache the data into memory, and AJAX technology and static page generation technol

4、ogy are added to some programs. In the aspect of database optimization, it mainly optimizes SQL statements with slow query, and optimizes database tables and MYSQL configuration. After optimizing the site, the test software Web Load and AB are used to conduct performance testing of the website, it f

5、ound that the load capacity of the site was improved, which achieved the goal of website optimization.Keyword: website optimization; performance; electronic commerce; database; 1 引言随着互联网、信息技术、移动支付等技术的飞速发展, 电子商务行业也在快速发展, 一时间涌现了大量的各种各样的电子商务网站, 包括 B2B、B2C 以及 C2C的。这些网站每天都有成千上万的人访问, 包含商品浏览、购买、比价等, 如此高的访问

6、量, 必须要优化和调整网站的性能才能保证网站的稳定运行, 给客户带来良好的购物与访问体验。优化电子商务网站的性能主要可以通过硬件升级、重构构建、页面优化、数据库优化等技术实现, 通过这些技术优化后的电子商务网站可以最大限度提高系统的高并发执行能力和运行效率, 从而为更多的在线用户服务。2 系统架构“多省汇食材网”主要是一个食材价格比对、食材在线销售的网站, 每天自动收集各大市场各种食材的价格, 为用户提供食材比价的基础, 同时联合供应商提供食材的在线购买和配送服务。该网站每天数据录入量和访问量巨大, 目前的平台构架和技术很难支撑现有的业务访问量, 因此, 需要对其进行性能优化。本次优化方案主要

7、从页面优化、程序优化、数据库优化三个方面进行优化升级。页面优化:主要从页面元素的布局合理性和 HTTP 请求数等几方面进行考虑;程序优化:主要在原有系统中引入数据缓存技术和静态页面生成技术, 并同时配合使用了 AJAX 技术对程序进行优化;数据库优化:主要在数据库的优化中对 SQL 语句和表进行优化。系统优化架构图如图 1 所示:图 1 系统优化构架图 下载原图3 系统优化的实现3.1 页面优化3.1.1 减少 HTTP 请求次数Web 页面包括了各种页面元素, 例如商品图像、页面样式表、JS 脚本和 Flash动画等, 当用户访问页面时, 浏览器需要将这些元素下载到本地进行解析展示。当 HT

8、TP 访问次数过多, 服务器性能和网络带宽都会被下载任务所占用, 因此, 需要减少 HTTP 的请求次数。这只是页面优化的开始, 根据调查得知电子商务网站的访问量中有 40%60%属于首次访问, 所以加快首次访问的速度是提升用户购物体验的关键。3.1.2 合理设置页面过期时间为了提升用户的购物体验、吸引顾客的目光, 电子商务网站需要将网页制作得丰富多彩, 增加各种页面元素, 当客户端第一次访问时, 不得不面临大量的HTTP 请求, 如果没有设置页面过期时间, 当用户下次访问时, 又得再次提交重复的 HTTP 请求, 设置了页面过期时间后客户端就会将这些资源缓存下来, 当客户下次访问时客户端就可

9、以使用本地缓存的资源来展示页面, 从而减少 HTTP 请求的次数和大小, 使得网页加载速度变快。但是页面的过期时间设置过大, 客户端会一直缓存之前的资源, 当用户访问网站时不再继续下载新的资源文件, 页面将会过时甚至无法显示, 因此, 设置合理的页面过期时间很重要。3.1.3 压缩页面元素页面上的很多元素基本都是图片、样式和 JS, 这些文件的压缩比都很大, 经过压缩可以减少体积、加快网络传输时间, 客户端在收到压缩后的文件后再进行解压获得原来的文件, 将负载压力从服务器端转移到客户端, 从而提高服务器的响应时间。HTTP/1.1 的标准中 Web 客户端的 HTTP 请求中可以通过设置Acc

10、ept-Encoding 头来表明支持的压缩类型。客户端浏览器在访问页面时根据页面头设置的文件类型来决定是否压缩。如果需要压缩, 则将 HTML 文件、CSS 文件和 JS 文件、图片文件等进行压缩, 通过压缩 HTTP 响应内容可减少页面响应时间。3.1.4 合理放置样式表和脚本文件客户在访问一个页面时首先看到的是页面的效果, 然后才会移动鼠标触发页面的特效, 根据这一用户习惯, 可以将 CSS 样式表放在 HTML 的头部, 将 JS 引入文件放在页面的底部, 这是因为浏览器解析 HTML 文件采用的是顺序执行方式, 这样由于 CSS 文件以及样式表在头部可以让页面的布局和展示很快展示在用

11、户眼前, 提高客户访问页面的友好度、提升购物体验。将 JS 文件放在底部是因为当所有页面都加载完毕后才开始加载 JS 特效, 当用户点击特效时 JS 已加载完毕, 这样可以利用客户的时间差来增加页面加载的时间。3.1.5 把 Java Script 和 CSS 放到外部文件中电商网站中的页面数量很多, 如果每个页面中都写入 JS 和 CSS 文件必将导致HTML 文件过大, 因此, 可将 Java Script 和 CSS 放入几个单独的外部文件封装起来, 然后在页面中导入, 这样做的明显好处有两个:第一, 可以方便代码的管理、维护, 如果将 Java Script、CSS 和页面代码一起写入

12、页面中, 那页面代码将会相当宏大并且杂乱, 维护起来将很繁琐艰难;第二, 使用外部文件会加快页面显示速度, 因为外部文件会被浏览器缓存, 这在多次访问时可大大加快访问速度。3.2 程序优化3.2.1 页面静态化动态网页需要执行拼接等操作, 耗时较大。而客户访问最多的就是商品详细页面, 每一种商品的详细页面在生成过后不经过人为操作是不会发生变化的, 因此, 可以将商品详情页面进行静态化以加快服务器的响应时间。对于商品详情页在添加完商品保存后将该页面进行静态化, 对于其他页面当客户第一次访问该页面时, 后台服务程序首先检查该页面是否有静态页面, 如果有直接返回, 如果没有则生成静态页面, 并更改该

13、页面的访问路径, 当下次访问时直接返回该页面的静态页面。3.2.2 AJAX 提交在价格公告模块中, 当用户选择一个商品后, 只需用选择商品价格时间查找价格, 点击查找后整个商品详情页面不会改变, 发生改变的只有商品的价格属性, 所以不需要重新请求并刷新整个页面, 可以使用 AJAX 提交局部刷新请求, 减少网络访问次数, 提高页面的流畅度, 价格数据更新快速, 用户体验更加快捷流畅。3.3 数据库优化3.3.1 SQL 语句的优化本系统数据库使用 MYSQL5.0, 对 SQL 语句进行的优化将基于此数据库来展开。在本系统中优化 SQL 语句的步骤是:首先运用 show status 命令了

14、解各种 SQL 的执行频率, 然后定位到执行效率较低的 SQL 语句, 通过 explain 命令来分析低效的 SQL 的执行计划, 然后根据出现的问题采取相应的优化方法。表 1 AB 测试性能对比表 下载原表 (1) 使用索引:增加索引可以减少检索的时间, 可以在经常查询的字段上增加索引, 但是增加了索引之后对于数据的修改性能会有影响, 这是增加索引需要额外注意的事项。在本系统中在用户的用户名和密码与商品的名称上增加索引, 以提高用户登录的速度和查找商品的速度。(2) 使用 analyze 和 check table 命令定期分析和检查表。(3) 定期优化表, 电商系统中的商品表和商品推荐表

15、等在经过了很多次的访问以及修改后存在很多碎片, 此时使用 optimize table 命令来对数据表中的空间碎片进行整理与合并, 以减少空间的浪费和提高操作的效率。(4) 优化 SQL 部分语句, 导入大批量数据时, 使用 load data infile 命令可有效提高导入效率, 使用索引来满足 order by 子句将不需要额外的排序, 对于嵌套查询, 有些情况下用 JOIN 来代替子查询将会得到更高的效率。3.3.2 通过拆分表提高访问效率在本销售系统中, 有一模块叫“商品推荐模块”, 本模块主要是当客户查看或者购买一个商品后系统需要关联类似的商品, 在用户下次登录时进行推荐。由于客户

16、每次点击一种商品都会进行关联, 如果一个用户每天点击 10 个商品, 每天有 500 个客户, 那么一个月表里将会有 15 万条记录, 如果每个用户登录时都在这个表里进行关联商品的话, 那将会出现速度缓慢的情况。这里将采用分表的方法来提高查询效率, 将一个月按时间分成三部分, 记录分别存放在三个表里, 如 17_1_1 表示 2017 年 1 月第一部分的记录, 由于用户下次再登录网站购买商品多为 10 天以内的用户, 大部分用户都会在最近表里命中, 故这样可以有效提高记录的命中率, 提高数据查询的性能。4 系统性能测试4.1 用 AB 进行性能测试首先, 利用 AB 对优化后的网站进行性能考

17、察, 运行命令为:ab-c 50-n 1000 http:/localhost/ (虚拟 50 个用户并发执行 1 000 次访问) 。优化前后性能对比结果如表 1 所示:从表 1 中的测试结果来看, 经过优化后的电子商务网站的服务器负载能力有了一定的提升, 由原来每秒只能响应 62.11 个用户请求提高到了 75.21 个, 并且50%的用户请求在 656 ms 内得到了响应。4.2 用 Web Load 进行性能测试用 Web Load 对整个网站进行测试, 首先启录制操作脚本, 然后通过脚本建立压力测试模板, 接着进行压力测试, 在“多省汇食材网”的压力测试中, 模拟现实中的用户对页面进

18、行的一系列操作, 压力测试运行时间为 8 分钟。通过测试比较, 将关键参数取出来对比, 建立表 2。表 2 优化前后性能对比表 下载原表 通过表 2 可以看出, 在 8 分钟的压力测试中, 同样的并发访问量, 优化后平均每个页面返回时间少了 0.321 秒, 在 480 秒内优化后可以多返回 331 个页面, 平均每秒多返回 0.872 个页面, 点击数量也每秒增多了 5.008 次。5 结语电子商务系统的优化是一个动态化的工作, 本文主要从前台页面, 数据库等方面对网站进行了优化, 并做了测试, 达到了预期的目标, 此外时优化有很多方法, 如建立多服务器群组进行负载均衡、CDN (Content Delivery Network, 内容分发网络) 的应用等, 将会在更进一步的优化工作中得到应用。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 期刊/会议论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报