OneSQL助力永辉超市大卖特卖
数据库集群查询达到10w/s,更新操作5k/s,正常!
应用并发连接达到历史高峰4倍,正常!
业务平稳运行,正常!
永辉微店527大促,圆满成功!这标志着平民软件数据库工程师、accenture咨询实施专家、SAP支持人员、永辉研发及其他工作人员连续数月的调优工作,让永辉微店的系统容量提升到了一个新的高度。
永辉微店是典型的O2O电商,其商品都是来自永辉超市的门店,而且生鲜类商品的价格随着门店不同、日期不同、优惠力度不同而每隔几个小时就会发生变化。因此单笔订单的复杂程度要超过一般传统电商。
527大促前期,根据多方人员评估,系统容量无法满足促销当天需求,其中一个核心瓶颈就是数据库无法承担应用系统的高并发压力。此时永辉超市通过天玑科技(杭州平民软件的母公司)邀请我们帮助解决数据层问题。
平民软件拥有业界一流的数据库专家,其在数据层的调优实践非常丰富。数据层的调优包括但不限于以下几个部分
1、参数调优
2、SQL优化
3、硬件资源(CPU、内存、磁盘、网络)性能瓶颈定位
4、应用层与数据层交互的合理性诊断
在确认和解决了上述四个方面的问题之后,
首先,使用官方版本的MySQL5.6,发现系统的CPU一直在百分之百,其中内核态占了80%以上的CPU。考虑到系统的并发性高,过多的连接,会导致MySQL创建过多线程,进而导致数据库系统所在操作系统,频繁发生上下文切换,导致系统性能较低。
其次,我们测试了带线程池功能的Percona5.6。经测试,验证可以通过设置线程的数量,来降低CPU的利用率,但是相应的TPS也大幅降低。提高线程的数量,就会和MySQL5.6官方版本的效果一样,CPU占有率接近100%。
最后,通过详细分析了在大并发情况下,数据库系统性能下降的问题,我们决定测试平民软件的产品OneSQL。测试之后,效果完全满足客户的预期,所以才有了文章一开头提到的527大促成功。
为什么OneSQL在大并发的电商系统中,能有如此优异的表现?希望下面的介绍能让你明白他的工作原理。
OneSQL源起于电商,是目前最优秀的为电商平台打造的MySQL数据库分支。OneSQL独家的多队列线程池护航你的电商业务,让你的业务系统能力提升几倍甚至10倍。
为什么多队列线程池能够有这样的效果?今天我试着以通俗的方式向大家解释。我们把数据库比作是四车道高速公路。数据库上的负载比作是各种车辆
1、大卡车跑的慢,对应于数据库中的大表统计查询、关联查询
2、小轿车跑的快,对应于数据库中的自动提交事务
3、大客车速度介于大卡车和小轿车之间,对应于数据库中的显式事务
4、摩托车速度最快,对应于数据库中的简单查询
在电商系统中线上业务通常由小轿车、大客车和摩托车对应的查询组成,一些后台统计类业务通常是大卡车对应的查询。为了高速路的顺畅,防止大卡车占据所有车道,影响其他类型的车辆运行,必须将不同类型的车安放在不同的车道。
OneSQL借鉴了相同的思路,把不同类型的SQL放入到不同的队列中,有效保证了页面访问、交易创建、库存处理等环节都能按照最佳比例执行,减少相互干扰,使数据库系统的性能在电商环境下,甚至有10倍以上的提升。
OneSQL作为高性能的MySQL分支版本,也保证了对官方版本的绝对兼容。用户可以在秒级之间自由切换官方版本和平民软件的版本。如果想在已有的系统中体验OneSQL,无需进行数据迁移,只要在平民软件官方网站中找到对应的版本(目前支持5.6),使用OneSQL的二进制文件mysqld替换官方版本的mysqld即可。如果想要回退到官方版本,也只需进行二进制文件替换。
另外OneSQL在秒杀、日志异步刷新、主从同步速度提升方面均有优化,如有兴趣请访问www.onexsoft.com
如有任何疑问,请联系onesoft007
OneSQL助力永辉超市大卖特卖的更多相关文章
- 《马哥出品高薪linux运维教程》wingkeung学习笔记-linux基础入门课程
计算机原理概念: 1.CPU和内存中的存储单元通信线路称为总线(BUS),总线是被指令和数据复用的,所以也称为前端总线. 2.计算机中计算频率的时间标准即晶体振荡器原理,精确计算时间长度,根据相同的时 ...
- 【转载】COM 组件设计与应用(十七)——持续性
原文:http://vckbase.com/index.php/wv/1264.html 一.前言 我们写程序,经常需要实现这样的需求: 例一.程序运行产生一个窗口,用户关闭的时候需要记录窗口的位置, ...
- IBM新合作伙伴计划助力企业转型升级
IBM作为老牌企业,一直在引领者技术方面的变革.当IBM再一次从自我革新开始,期望能够更快的将认知计算和云推广给自己的合作伙伴和用户们,以帮助他们在新的转型期内,能够快人一步. ...
- AI种黄桃AI卖黄桃 阿里巴巴推进一站式政务服务
7月11日,武汉城市峰会期间,武汉.枣阳.荆门等多个城市发布了同阿里巴巴的最新合作.这些合作包括用人工智能改善武汉交通拥堵.降低枣阳黄桃种植成本.提升荆门城市治理和市民服务水平等.阿里云.蚂蚁金服.高 ...
- 阿里云的重大战略调整,“被集成”成核心,发布SaaS加速器助力企业成长
摘要: 阿里云战略调整,“被集成”成为生态战略,讲讲即将“退居幕后”的阿里云. 阿里云近期调整动作巨大,阿里云新任总裁张剑锋(花名,行颠)上任后充分体现其创新和自我探索不断求“变”的阿里特性.期间,达 ...
- 【高并发】Redis如何助力高并发秒杀系统,看完这篇我彻底懂了!!
写在前面 之前,我们在<[高并发]高并发秒杀系统架构解密,不是所有的秒杀都是秒杀!>一文中,详细讲解了高并发秒杀系统的架构设计,其中,我们介绍了可以使用Redis存储秒杀商品的库存数量.很 ...
- 如何一步一步用DDD设计一个电商网站(四)—— 把商品卖给用户
阅读目录 前言 怎么卖 领域服务的使用 回到现实 结语 一.前言 上篇中我们讲述了“把商品卖给用户”中的商品和用户的初步设计.现在把剩余的“卖”这个动作给做了.这里提醒一下,正常情况下,我们的每一步业 ...
- BPM助力企业数字化转型
自九十年代末,流程管理开始引入国内,至今已经有20多年的历史了,由最初的部门级应用向企业级应用转变,大家的认知也经历了一系列的发展变化.不同阶段的信息化水平对企业的流程以及BPM平台也提出了不同的需求 ...
- 2015 Autodesk 开发者日( DevDays)和 助力开发周火热报名中
Autodesk 软件(中国)有限公司 ADN 市场部真诚地邀请您参加我们一年一度的 "Autodesk 开发者日"(简称 DevDays),以及第一次随同开发者日举办的" ...
随机推荐
- SQL语句增加字段、修改字段、修改类型、修改默认值
一.修改字段默认值 alter table 表名 drop constraint 约束名字 ------说明:删除表的字段的原有约束 alter table 表名 add constraint 约 ...
- C#压缩库SharpZipLib的应用
SharpZipLib是一个开源的C#压缩解压库,应用非常广泛.就像用ADO.NET操作数据库要打开连接.执行命令.关闭连接等多个步骤一样,用SharpZipLib进行压缩和解压也需要多个步骤. ...
- Azure VM上传小文件
因为需要传一些脚本到Azure的VM里,有个简单方法可以实现,如下 编辑这个rdp文件 点击确定,连接远程计算机 可以在我的电脑里看到本地硬盘
- 调优SQL思路
--调优SQL --sqlreview ->logshipping -> ag辅助副本 --查看正确的执行计划 打开实际的执行计划set statistics io on --查看错误的执 ...
- js计算相隔天数日期
计算40天前的日期: var temp = new Date();console.log(temp);var tempValue = temp.getTime() - 40 * 24* 60*60*1 ...
- 异步记载数据时page是怎么计算的
最近一直在完善基于Busybox做的ARM Linux的根文件系统,由于busybox是一个精简的指令集组成的简单文件系统,其优点就是极精简,满足了Linux基本的启动需求,由于它几乎没有什么后台服务 ...
- FTP连接时出现“227 Entering Passive Mode” 的解决方法
今天从公网的服务器连接本地内网的FTP server copy文件时,系统老是提示227 Entering Passive Mode (xxx,xxx,,xxx,xxx,x),很是奇怪,于是上网找资料 ...
- A ship is always safe at the shore - but that is not what it is built for.
A ship is always safe at the shore - but that is not what it is built for. 船靠岸边总是安全的,但那不是建造它的目的.
- linux的whoami, who指令
who 这个命令重点在用来查看当前有那些用户登录到了本台机器上 whoami 显示的是有效用户用户名 ,是当前操作用户的用户名 who am i == who -m 显示的是实际用户的用户名,即用户登 ...
- javascript中怎样区分元素和节点?
1.所谓元素,即html文档里面,所有的标签都可以称之为元素,比如说<p>.<tr>等,也就是说元素是个统称,一个文档里面有很多的元素.2.所谓节点,是js为了对html文档进 ...