数据库集群查询达到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助力永辉超市大卖特卖的更多相关文章

  1. 《马哥出品高薪linux运维教程》wingkeung学习笔记-linux基础入门课程

    计算机原理概念: 1.CPU和内存中的存储单元通信线路称为总线(BUS),总线是被指令和数据复用的,所以也称为前端总线. 2.计算机中计算频率的时间标准即晶体振荡器原理,精确计算时间长度,根据相同的时 ...

  2. 【转载】COM 组件设计与应用(十七)——持续性

    原文:http://vckbase.com/index.php/wv/1264.html 一.前言 我们写程序,经常需要实现这样的需求: 例一.程序运行产生一个窗口,用户关闭的时候需要记录窗口的位置, ...

  3. IBM新合作伙伴计划助力企业转型升级

        IBM作为老牌企业,一直在引领者技术方面的变革.当IBM再一次从自我革新开始,期望能够更快的将认知计算和云推广给自己的合作伙伴和用户们,以帮助他们在新的转型期内,能够快人一步.         ...

  4. AI种黄桃AI卖黄桃 阿里巴巴推进一站式政务服务

    7月11日,武汉城市峰会期间,武汉.枣阳.荆门等多个城市发布了同阿里巴巴的最新合作.这些合作包括用人工智能改善武汉交通拥堵.降低枣阳黄桃种植成本.提升荆门城市治理和市民服务水平等.阿里云.蚂蚁金服.高 ...

  5. 阿里云的重大战略调整,“被集成”成核心,发布SaaS加速器助力企业成长

    摘要: 阿里云战略调整,“被集成”成为生态战略,讲讲即将“退居幕后”的阿里云. 阿里云近期调整动作巨大,阿里云新任总裁张剑锋(花名,行颠)上任后充分体现其创新和自我探索不断求“变”的阿里特性.期间,达 ...

  6. 【高并发】Redis如何助力高并发秒杀系统,看完这篇我彻底懂了!!

    写在前面 之前,我们在<[高并发]高并发秒杀系统架构解密,不是所有的秒杀都是秒杀!>一文中,详细讲解了高并发秒杀系统的架构设计,其中,我们介绍了可以使用Redis存储秒杀商品的库存数量.很 ...

  7. 如何一步一步用DDD设计一个电商网站(四)—— 把商品卖给用户

    阅读目录 前言 怎么卖 领域服务的使用 回到现实 结语 一.前言 上篇中我们讲述了“把商品卖给用户”中的商品和用户的初步设计.现在把剩余的“卖”这个动作给做了.这里提醒一下,正常情况下,我们的每一步业 ...

  8. BPM助力企业数字化转型

    自九十年代末,流程管理开始引入国内,至今已经有20多年的历史了,由最初的部门级应用向企业级应用转变,大家的认知也经历了一系列的发展变化.不同阶段的信息化水平对企业的流程以及BPM平台也提出了不同的需求 ...

  9. 2015 Autodesk 开发者日( DevDays)和 助力开发周火热报名中

    Autodesk 软件(中国)有限公司 ADN 市场部真诚地邀请您参加我们一年一度的 "Autodesk 开发者日"(简称 DevDays),以及第一次随同开发者日举办的" ...

随机推荐

  1. python学习笔记系列----(五)输入和输出

    这一章主要是讲述程序展示其数据的一些方法,一般都是直接按照一定的格式输出在屏幕,或者写入到文件以便以后使用.按照一定格式的输出,在python中实际就是对str的操作,主要就是介绍了formart() ...

  2. URL跳转的几种方式

    1.HTML: ①. <head> <!-- 以下方式只是刷新不跳转到其他页面 --> <meta http-equiv="refresh" cont ...

  3. hdu 3839 Ancient Messages (dfs )

    题目大意:给出一幅画,找出里面的象形文字. 要你翻译这幅画,把象形文字按字典序输出. 思路:象形文字有一些特点,分别有0个圈.1个圈.2个圈...5个圈.然后dfs或者bfs,就像油井问题一样,找出在 ...

  4. 浮动【电梯】或【回到顶部】小插件:iElevator.js

    iElevator.js 是一个jquery小插件,使用简单,兼容IE6,支持UMD和3种配置方式,比锚点更灵活. Default Options _defaults = { floors: null ...

  5. Ruby中 Include, Extend, Import, Require 的使用区别

    Include 如下例当你Include一个模块到某个类时, 相当于把模块中定义的方法插入到类中.它允许使用 mixin.它用来 DRY 你的代码, 避免重复.例如, 当你有多个类时, 需要相同的函数 ...

  6. 缓解 SQL Server has encountered 727 occurrence(s) of I/O requests taking longer than 15 seconds

    sql server 会记录IO等待时间超过15 seconds的请求,这时application会有 time out 现象,dba需要判断是workload,concurrecy 所致还是sql ...

  7. 详解学习C#的方法和步骤

    如果你已经有较多的面向对象开发经验,跳过以下这两步: 第一步 掌握一门.NET面向对象语言,C#或VB.NET. 强烈反对在没系统学过一门面向对象语言的前提下去学ASP.NET. ASP.NET是一个 ...

  8. java实现ftp文件的上传与下载

    最近在做ftp文件的上传与下载,基于此,整理了一下资料.本来想采用java自带的方法,可是看了一下jdk1.6与1.7的实现方法有点区别,于是采用了Apache下的框架实现的... 1.首先引用3个包 ...

  9. mysql 擎特点

  10. kafka常用命令

    以下是kafka常用命令行总结: 0.查看有哪些主题: ./kafka-topics.sh --list --zookeeper 192.168.0.201:12181 1.查看topic的详细信息 ...