摘要:最近一段时间,我们整理了一些关于Percona,Linux,Flashcache,硬件设备的优化经验,分享给大家:硬件1.开启BBWCRAID卡都有写cache(Battery Backed Write Cache),写cache对IO性能的提升非常明显,因为掉电会丢失数据,所以必须由电池提供支持。电池会定期充放电,一般为90天左右,当发现电量低于某个阀值时,会将写cache策略从writebac...
阅读全文
摘要:事务机制事务(Transaction)是数据库区别于文件系统的重要特性之一。事务会把数据库从一种一致状态转换为另一个种一致状态。在数据库提交工作时,可以确保其要么所有修改都已经保存了,要么所有修改都不保存。InnoDB存储引擎中的事务完全符合ACID的特性。原子性(atomicity)原子性是指整个数据库事务是不可分割的工作单位。只有使事务中所有的数据库操作执行都成功,才算整个事务成功。如果事务中...
阅读全文
摘要:1 并发1.1 这个并发是怎么界定的?因为个人觉得按照计算机的逻辑,应该是不会有“同一刻”进来的请求,多多少少都会有先后的吧?如果按照秒来计算,不同的请求可能都在30秒过来,但是他们的毫秒数可是不一样的,算是并发么?所以这个并发是怎么计算?说到并发,一定要提及并行了。“并行”是指无论从微观还是宏观,二者都是一起执行的,就好像两个人各拿一把铁锨在挖坑,一小时后,每人一个大坑。 而“并发”在微观上不是...
阅读全文
摘要:数据库文件MySQL主要文件类型有如下几种参数文件:my.cnf——MySQL实例启动的时候在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还介绍了参数类型以及定义作用域;日志文件:记录MySQL对某种条件做出响应时候写入的文件,包括错误日志、查询日志、慢查询日志、二进制日志;Mysql表结构文件:存放MySQL表结构定义文件,不论采用何种存储引擎,MyS...
阅读全文
摘要:数据库内存InnoDB存储引擎内存由以下几个部分组成:缓冲池(buffer pool)、重做日志缓冲池(redo log buffer)以及额外的内存池(additional memory pool),分别由配置文件中的参数innodb_buffer_pool_size和innodb_log_buffer_size的大小决定。缓冲池中缓存的数据也类型有:索引页(index page)、数据页(da...
阅读全文
摘要:数据库后台线程默认情况下讲述的InnoDB存储引擎,以后不再重复声明。后台线程有7个——4个IO thread,1个master thread,1个锁监控线程,1个错误监控线程。IO thread的数量由配置文件中的innodb_file_io_threads参数控制,默认为4。4个IO线程分别是insert buffer thread、log thread、read thread、write t...
阅读全文
摘要:系统性能一直是一个受关注的话题,如何通过最简单的设置来实现最有效的性能调优,如何在有限资源的条件下保证程序的运作,ulimit 是我们在处理这些问题时,经常使用的一种简单手段。ulimit 是一种 linux 系统的内键功能,它具有一套参数集,用于为由它生成的 shell 进程及其子进程的资源使用设置限制。本文将在后面的章节中详细说明 ulimit 的功能,使用以及它的影响,并以具体的例子来详细地...
阅读全文
摘要:Cache和Buffer是两个不同的概念,简单的说,Cache是加速“读”,而 buffer是缓冲“写”,前者解决读的问题,保存从磁盘上读出的数据,后者是解决写的问题,保存即将要写入到磁盘上的数据。在很多情况下,这两个名词并没有严格区分,常常把读写混合类型称为buffer cache,在Oracle Instance里同样有一块区域作为数据库缓冲区&&高速缓存。 Oracle OverviewMy...
阅读全文
摘要:Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人想出来。 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。所有线程共享数据区线程隔离数据区一、程序计数器(寄存器)当前...
阅读全文
摘要:软件程序性能测试在之前《品味性能之道》系列中已经大量提到,讲解了很多测试方法、测试观念、测试思想等等。最近准备深入MySQL进行学习并总结。分别查阅《MySQL性能调优与架构设计》、《MySQL高性能书籍》、《MySQL技术内幕InnoDB存储引擎》、官方《MySQL Manual》,重点关注结构原理,以及各种性能调优手法。大致计划为体系结构、事务与事务隔离机制、锁机制与死锁、范式与反范式、性能调...
阅读全文
摘要:MySQL体系结构总览不管是用哪种数据库,了解数据库的体系结构都是极为重要的。MySQL体系结构主要由数据库和数据库实例构成。数据库:物理操作系统文件或者其它文件的集合,在mysql中,数据库文件可以是frm、myd、myi、ibd等结尾的文件,当使用ndb存储引擎时候,不是os文件,是存放于内存中的文件。数据库实例:由数据库后台进程/线程以及一个共享内存区组成,共享内存可以被运行的后台进程/线程...
阅读全文
摘要:难难难、道是玄,不遇知音不可谈。遇了知音聊两句,免教那枉费舌尖。难得今天心情不错,反思毕业这五年的种种,有浑噩、迷茫、彷徨、莽撞、执着、困顿、不惧,走到今天迈过了几道坎早已忘却,同时也还在询问自己值不值。说正事吧,把最近遇到的事做一个简单小结记录分享出来。我面试别人的时候,一般会从沟通、技术、管理三...
阅读全文