github mysql优化_GitHub如何通过迁移MySQL数据库提高网站性能

news/2024/5/12 23:29:34/文章来源:https://blog.csdn.net/weixin_29549747/article/details/114498551

GitHub,作为广泛使用的开源代码库以及版本控制系统,其数据库MySQL性能的优劣对整个网站平台有着举足轻重的影响。接下来我们一起

GitHub,作为广泛使用的开源代码库以及版本控制系统,其数据库MySQL性能的优劣对整个网站平台有着举足轻重的影响。接下来我们一起跟随GitHub基础架构团队的步伐,来重温去年8月做的一次重大MySQL更新,看是如何使得GitHub运行得更畅顺的。

任务简述

自去年开始,我们陆续地把GitHub主体架构迁移到新的数据中心,与之配套的是世界级的硬件和网络环境。我们十分希望这次升迁对后端系统基石MySQL的性能也有所提高。不过在一个新环境重新建立一个新的服务器集群和硬件平台,并不是件轻易的事情,我们必须做好计划与测试,确保迁移工作顺利完成。

准备工作

每当要进行类似的重大升级工作,对每个测量和指标量度步骤都会提出严格的要求。为新机器安装好操作系统后,接下来需要根据不同的配置来进行测试。为了得到真实的负载测试数据,我们使用了tcpdump对从旧集群系统到新系统执行的SELECT查询进行抓包分析。

MySQL性能调整可谓是细节决定成败,例如众所周知的innodb_buffer_pool_size的设置,对整体有着举足轻重的影响。为了尽更全面地管控升级过程,我们把 innodb_thread_concurrency、innodb_io_capacity、innodb_buffer_pool_instances等参数也一并进行分析和研究。

每次测试时我们都只改变某一个参数,然后让系统连续运行至少12小时。在这过程中不断观察SHOW ENGINE INNODB STATUS带来的统计信息,其中SEMAPHORES栏目,能很好地反映工作负荷竞争情况。当相关设置测试通过后,接下来我们将尝试把其中一个最大的数据表迁移到一个单独的集群上。作为前期测试的一部分,这样的迁移工作能为日后更大更核心的变更带来指引。

除了对基础硬件部分进行了升级,我们还对流程和拓扑进行了优化。例如:延后复制,更快速和高频的备份,提高备带读取能力。一切就绪后,将进入最后的升级阶段。

制定升级项目清单,进行二次检查

作为每天服务上百万用户的平台,任何差错都将是毁灭性的。我们在进行真实切换前,列出了一个任务清单,确保各项工作有序执行:

迁移当天

在周六的上午5点太平洋时间),团队成员就位后,迁移工作正式开始。当用户在这段时间访问网站时,会收到如下的提示:

141002072274511.jpg

13分钟后,新集群即将开始正常运作。我们终止了网站的维护模式,,并告知大众网站将回复正常。

141002072274512.jpg

效果评估

在接下来的几个星期,我们密切关注了整体性能和响应时间方面的变化。结果是令人欣喜的,页面载入时间减少了将近三分之二:

141002072274513.jpg

经验总结:

1. 功能划分

在本次操作中,我们把较大的历史数据记录表放入单独的集群,事后证明这是明智的做法—很好地释放了存储空间和缓冲池空间。同时,能够把更多资源放在活跃数据处理上,连接逻辑的划分也使得程序可以在多个集群间进行查询。以后我们还将采取该方法进行升级。

2. 不断测试

罗马非一天建成,整个过程需要不断进行验收和回归测试,避免意外的发生。

3. 团队的力量

如此重大的架构升级需要很多小伙伴协力工作,我们主要使用GitHub上的拉请求功能来进行互动交流。部署团队来自世界各地:

141002072274514.jpg

当开启一个拉请求后,我们将进行实时交流,例如:错误处理,回归处理等信息的交流。每个交流环节都生成一个URL,方便进行历史查询和反馈。

一年后……

路遥知马力,一年后,实践证明这是一次成功的操作。MySQL持续表现符合预期,系统可靠性进一步提高。还有个附加好处是:新系统的扩展性得到提升,将来可进行更大规模的升级和改造。

GitHub 教程系列文章:

GitHub 使用教程图文详解

如何在 GitHub 建立组织

GitHub Linux下使用方法

Windows下Eclipse搭建GitHub开发环境图文教程

R语言 3.0.1 源码已经提交到 GitHub

从GitHub将Maven项目导入Eclipse4.2

Git 标签管理详解

Git 分支管理详解

Git 远程仓库详解

Git 本地仓库(Repository)详解

Git 服务器搭建与客户端安装

Git 概述

GitHub 的详细介绍:请点这里

GitHub 的下载地址:请点这里

本文永久更新链接地址:

logo.gif

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_749195.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

熊掌号 php提交,网站接入熊掌号,网页配置并提交

百度熊掌号是什么?百度熊掌号是站长、自媒体、开发者、商家等各种内容和服务提供者入驻百度的身份账号,该账号可实现包括百度搜索资源平台、百度数据开放平台、百家号自媒体平台、用户运营平台等各类平台的能力互通。开通熊掌号之后站点自然也就有了原创…

cefsharp内嵌资源html的读取,C#(csharp)用CefSharp开发实现一个浏览器,抓取网站任意资源...

前言:不少网站会保护自己,防止别人下载图片。因此下载器,先后改了好几次,不断技术升级。早期 用WebClient 下载 HTML 分析 URL 下载。后来 为了下载 手机网站的图片,用上了 User-Agent 特性,模拟手机浏览器…

在线购物系统后台登录界面html代码,电子商城(购物网站)html模板源码

【实例简介】电子商城【实例截图】【核心代码】└─legendshop-UI│ category.html│ category_list.html│ index.html│ login.html│ shopcart.html│ userhome.html│ views.html│├─css│ bootstrap.css│ member.css│ order3.css│ produc…

网站开发小记

想不到,真的想不到,花3天写的代码,花3天做的页面,居然用了1个多月的时间才算刚刚开始用,期间经历了不少风风雨雨,但是总算是过来了,可以安心的迎接考试了(最近都在看电影&#xff0c…

SEOer未来发展的两个方向

闲言碎语不多讲了,今天的话题是一位朋友提出来的:“老师,百度近期做了这么多调整,SEO的春天来了还是冬天来了呢?现在学习SEO的话,应该向哪个方向发展呢?”这段时间百度确实压力不小,先是“魏则西事件”迫…

blink包含哪些服务与组件_网络营销——优秀的网站优化公司都包含哪些助力网络营销的服务?...

众所周知,在当下的互联网时代信息肆意横流的环境下,网络营销对于企业来说是件再普遍不过的事情了,也正是因为互联网能够为企业与用户之间进行传递和沟通、提高彼此的工作效率,才能够被各行各业的企业老板们接受、认可。尤其是在企…

使用Windows Azure, .NET Services, SQL Azure打造自己的免费网站(1)

忙也无聊,闲也无聊,忽如一夜春风来,IT界流行云计算。看园子里大家都云来云去的,惹得我心痒痒,前段时间自己的域名被和谐,博客也随之消失,一直耿耿于怀。正好邮箱里放着MS的2个Azure邀请码&#…

WTF?这个Google搜索结果有毒,官方网址打开竟是诈骗网站

本文讲的是WTF?这个Google搜索结果有毒,官方网址打开竟是诈骗网站,Google广告系统的审核机制再次被绕过。 在Google搜索“Target”,一家美国大型零售商的名字,第一个结果会把用户重定向到伪装技术支持的诈骗网站。 一位…

一男子吃烤鱼唤醒被拐卖的记忆,上寻亲网站竟找到亲生父母

今天网上出现一条这样的微博:于是网友们表示:事情是这样的:27年前,重庆市石柱县大歇乡的六岁孩子付贵被拐卖到了福建。这20多年里,付贵的家人一直在找他,并且在“宝贝回家”寻人平台上注册了信息&#xff1…

设置网站默认目录

设置网站默认目录 在发布网站后,输入网站域名http://www.haokafei.com后,Url老是自动变成http://www.haokafei.com/index.html, 我的默认根目录中的网页时index.aspx,最后查了下才知道要去IIS设置一下。 进入IIS,选择“文档”选项卡&#xff…

手机浏览器被强制跳转_谷歌浏览器开始调整系统UA标识符阻止网站识别浏览器具体版本...

此前谷歌浏览器已经预告过将会取消已沿用多年的用户代理字符串,原因是这些字符串可能泄露用户的隐私信息。代理字符串包含系统版本、体系架构、浏览器版本和体系架构等信息,部分广告网络会利用这些信息来追踪用户。因此谷歌决定彻底取消用户代理字符串只…

构建LAMP动态网站

虽然关于LAMP架设的文章,51cto上已经有很多很多了,但我还是想写一篇这样的文章,来对自己的工作经验做个总结。我将把《构建LAMP动态网站》分两篇文章来进行讲解,第一篇首先是搭建一个LAMP的WEB框架,第二篇是在这个WEB框…

关于大型网站技术演进的思考(八)--存储的瓶颈终篇(8)

在开始本篇主要内容前,我们一起看看下面的几张截图,首先是第一张图,如下图所示: 这是一家电商网站的首页,当我们第一次打开这个首页,网站会弹出一个强制性的对话框,让用户选择货物配送的地址&am…

构建高性能ASP.NET站点之一 剖析页面的处理过程(前端),徐汇区网站设计

导读:作者燕洋天写了一系列关于ASP.NET的文章。在对ASP.NET网站进行优化的时候,往往不是只是懂得ASP.NET就足够了的。在优化的过程中,一般先是找出问题可能存在的地方,然后证明找出的问题就是要解决的问题,确认之后&am…

先睹为快:Visual Studio 11测试版已于2.29在微软官方网站正式发布

在2011的下半年,Visual Studio 11就已经呼之欲出,在2012年的2月29日,微软官方网站正式发布了VS11的测试版。VS11中使用了Framework4.5,与Framework4.0相比,没有发生太大的改变,只是对功能进行了优化。 下载…

IIS建立网站后显示“403.1禁止访问”的解决方法

建立网站后,显示如下: 这是由于没有脚本访问权限导致的,解决方法: 这样设置后就可以了,呵呵 本文转自博客园张占岭(仓储大叔)的博客,原文链接:IIS建立网站后显示“403.1禁…

25个绿色网站设计灵感

绿色的颜色即我们通常与自然关联的,并且它是可见光谱的3原色之一。三基色红,绿,蓝。我已经共享的红色网站的集合,在这个集合中寻找灵感,你会发现25个绿色网站。 绿色也与环境,这些天我们都将努力挽救环境和…

转载-支持中英文多语言浏览的MVC网站实例

思路大概是这样的,将翻译成不同语言的词句以xml键值对的格式分别存在不同文件夹下,扩展MVC HtmlHelper, 在扩展方法里根据用户当前访问Action所在的路径以及当前所选的语言类型读取语言文件夹下的xml文件,再通过HtmlHelper传过来的key获取对应…

js实现倒计时 类似团购网站

一、demo与效果展示 为节约时间,我就直接套用了企鹅团的界面作为demo的背景。因为是倒计时,所以需要一个固定的时间,为了n年后,某位仁兄打开demo页面依然在倒计时,所以我把倒计时时间设成了2050年7月30日中午12点整&am…

阿里云+Ubuntu+LAMP+WordPress搭建个人博客网站

首发于个人网站http://139.196.86.184(域名备案中),转载注明作者与出处,谢谢。 搭个人网站一般有两种选择: GitHub Pages Hexo / jekyl服务器 WordPress / Typecho之前试过1,现在试试2,个人选…