【系统优化】数据库系统load飙高问题解决思路
CPU作为服务器的关键资源经常成为性能瓶颈的根源,CPU使用率高并不总是意味着CPU工作繁忙,它有可能是正在等待其他子系统。在进行性能分析时,将所有子系统当做一个整体来看是非常重要的,因为在子系统中可能会出现瀑布效应。
【案例】RAID卡写策略改变引发的问题
RAID卡都有写cache(Battery Backed Write Cache),写cache对IO性能的提升非常明显,因为掉电会丢失数据,所以必须由电池提供支持。电池会定期充放电,一般为90天左右,当发现电量低于某个阀值时,会将写cache策略从writeback置为writethrough,相当于写cache会失效,这时如果系统有大量的IO操作,可能会明显感觉到IO响应速度变慢,cpu 队列堆积系统load 飙高。
【MySQL】性能优化之 order by (一)
工作过程中,各种业务需求在访问数据库的时候要求有order by排序。有时候不必要的或者不合理的排序操作很可能导致数据库系统崩溃。如何处理好order by排序呢?本文从原理以及优化层面介绍 order by 。
【MySQL】5.7版本 Semisync Replication 增强
随着MySQL 5.7 的发布,新版本的MySQL修复了semi sync 的一些bug 并且增强了功能,新版的semi sync 设置一个独立的线程来接受slave 的ack,使得发送日志和接收slave 反馈 同时进行,提高了系统的事务处理能力。
【Python】python 多线程两种实现方式
目前python 提供了几种多线程实现方式 thread,threading,multithreading ,其中thread模块比较底层,而threading模块是对thread做了一些包装,可以更加方便的被使用。
【MySQL】 性能优化之 延迟关联
分页排序在数据库业务中十分常见,大数量的分页造成性能下降,给前端带来很差的用户体验而且也会对数据库本身带来很大压力,如何解决呢?本文通过介绍 延迟关联的思路和具体优化案例,希望能够给大家一些提示。
【shell】while read line 与for循环的区别
可能大多数人会以为while read line 会和for循环一样,将数据一个个读入,实际上while read line采用输入重定向一次性全部读入数据,忽略此差异,使用while的方式写脚本可能会带来错误的结果,本文解释while 和for循环的区别以及如何规避次问题。
【MySQL】错误信息写入slave_relay_log.index 案例一则
本文源于生产上的一个不多见案例,由于错误信息写入slave_relay_log.index 导致报错。
【MySQL】Semisynchronous Replication 配置和参数说明
前文 Semisynchronous Replication 概述 已经介绍 semi sync的基本原理以及特性,优缺点。本章将进入实践,毕竟“纸上来得终觉浅,绝知此事要躬行”。^_^一环境准备 1 MySQL 5.5 + 版本 2 本例已经搭建好的MySQL Replication 同时也有另一种搭建方法先配置好semi sync ,然后再搭建主从。提示:如何搭...
【MySQL】Semisynchronous Replication 概述
MySQL 5.5版本之前默认的复制是异步(Asynchronous )模式的, MySQL 5.5 以plugins的方式提供了Semisynchronous Replication 模式。虽然5.5 版本的还不是很完善,但是极大保障了数据的安全性。
【招聘】Alibaba 数据库团队招聘Oracle MySQL DBA(无效)
欢迎有意愿加入阿里巴巴数据库团队的朋友 邮件简历 到 qilong.yangql#alibaba-inc.com (#--->@)岗位描述 -支持整个阿里全线业务系统,提供可靠的存储技术方案; -规模化场景下MySQL/OceanBase/RDS的架...
【MySQL】Insert buffer 漫谈
innodb使用insert buffer"欺骗"数据库:对于为非唯一索引,辅助索引的修改操作并非实时更新索引的叶子页,而是把若干对同一页面的更新缓存起来做合并为一次性更新操作,转化随机IO 为顺序IO,这样可以避免随机IO带来性能损耗,提高数据库的写性能。
【MySQL】数据库字符校对规则
一 什么是字符校对规则使用MySQL的大多数都知道字符集是一套符号和编码,而对校验本规则不太熟悉。校对规则是在字符集内用于比较字符的一套规则,可以控制 select 查询时where 条件大小写是否敏感的规则.如字段 col 在表中的值为 'abc','ABC','AbC' 在不同的校对规则下,where col='ABC'会有不同的结果。系统常用的字符校对...
【MySQL】如何获取自增id
去"O"的业务支撑的时候,遇到一个开发询问如何获取到MySQL 的自增id,这里做一个总结,我们可以通过四种方式来获取MySQL 的自增id。一 last_insert_id() 官方介绍如下: “The ID that was generated is maintained in the server on a per-connection basis. This means that the value returned by the fu...
【MySQL】再说MySQL中的 table_id
最近线上一个实例出现了主从数据不一致的情况,也即从库丢失数据的情况。根本原因:"由于table_list->table_id为uint,而m_table_id为ulong,主库上assign的table map id 总是一直递增的当超过2^32后,备库出现溢出,导致row模式下备库对应table id的事件全部丢失,产生主备不一致。"
【MySQL】MySQL与IO
数据库作为存储系统,所有业务访问数据的操作都会转化为底层数据库系统的IO行为(缓存系统也可以当做是key-value的数据库),本文主要介绍访问mysql数据库的IO流程以及IO相关的参数。
【MySQL】double write 浅析
mysql 通过double wriate 方式 增加系统的写入数据的可靠性
【MySQL】文件描述符导致报警一则
【MySQL】sync_binlog innodb_flush_log_at_trx_commit 浅析
innodb_flush_log_at_trx_commit和sync_binlog 两个参数是控制MySQL 磁盘写入策略以及数据安全性的关键参数。本文从参数含义,性能,安全角度阐述两个参数为不同的值时对db 性能,数据的影响.
【oracle】静默安装 oracle 11gr2
oracle 提供了静默安装方法在不适用图形界面的情况下安装 oracle 软件 ,创建db,配置netca,快速完成oracle 的部署。本文主要讲述基本安装步骤和遇到的问题,不涉及oracle 安装完成之后的运维规范: 监控,备份,定时日志清理,基础运维配置。