Editors' Picks
  • 前言 内存资源由操作系统管理,分配与回收操作可能会执行系统调用(以 malloc 算法为例,较大的内存空间分配接口是 mmap, 而较小的空间 free 之后并不归还给操作系统 ),频繁的系统调用必然会降低系统性能,但是可以最大限度的把使用完毕的内存让给其它进程使用,相反长时间占有内存资源可以减少系统调用次数,但是内存资源不足会导致操作系统频繁换页,降低服务器的整体性能。 数据库是使用内存的“大户”,合理的内存分配机制就尤为重要,7月月报介绍了 PostgreSQL 的内存上下文,本文将介绍在 MySQL 中又是怎么管理内存的。 基础接口封装 MySQL 在基本的内存操作接口上面封装了一层,增 […]

    MySQL内存分配机制

    前言 内存资源由操作系统管理,分配与回收操作可能会执行系统调用(以 malloc 算法为例,较大的内存空间分配接口是 mmap, 而较小的空间 free 之后并不归还给操作系统 ),频繁的系统调用必然会降低系统性能,但是可以最大限度的把使用完毕的内存让给其它进程使用,相反长时间占有内存资源可以减少系统调用次数,但是内存资源不足会导致操作系统频繁换页,降低服务器的整体性能。 数据库是使用内存的“大户”,合理的内存分配机制就尤为重要,7月月报介绍了 PostgreSQL 的内存上下文,本文将介绍在 MySQL 中又是怎么管理内存的。 基础接口封装 MySQL 在基本的内存操作接口上面封装了一层,增 […]

    Continue Reading...

  • 奇怪的大叔 我是黄山本地人,今年四十多岁了,上有老下有小的,我书读的不多,年轻的时候还可以靠出点力,现在真是有力都没地方使,黄山这几年主要是发展旅游业,其它行业不太景气,前几年我们一帮伙计发现了商机,因为黄山汽车站和火车站离景区还是有一段距离的,没有直达的公交车,的士根本就不够用!现在的游客都是比较有钱才出来逛的,宁可多花点钱,也不想耽误太多时间在路上。于是我们一帮人开始用自己的私家车拉客,不说旺季了,即使是淡季,游客也是络绎不绝的,大伙对收入都比较满意。可是我没有私家车啊,眼看着他们找到了一条致富之路,却只有眼红的份。家里没有太多积蓄,女儿正在外地读书,想当年我们这帮人一起打工的时候,我可是 […]

    到底谁奇怪

    奇怪的大叔 我是黄山本地人,今年四十多岁了,上有老下有小的,我书读的不多,年轻的时候还可以靠出点力,现在真是有力都没地方使,黄山这几年主要是发展旅游业,其它行业不太景气,前几年我们一帮伙计发现了商机,因为黄山汽车站和火车站离景区还是有一段距离的,没有直达的公交车,的士根本就不够用!现在的游客都是比较有钱才出来逛的,宁可多花点钱,也不想耽误太多时间在路上。于是我们一帮人开始用自己的私家车拉客,不说旺季了,即使是淡季,游客也是络绎不绝的,大伙对收入都比较满意。可是我没有私家车啊,眼看着他们找到了一条致富之路,却只有眼红的份。家里没有太多积蓄,女儿正在外地读书,想当年我们这帮人一起打工的时候,我可是 […]

    Continue Reading...

  • 前段时间看了大神P叔的博客,除了技术之外,看得出对自己人生清晰的规划,结合P叔现在的成就,可以说当年吹的牛逼都实现了,并且有过之而无不及。其中有一篇 我的20年 ,四岁就知道自己想上国防科大,真是让四岁还不知道要上哪所小学的我羡慕不已。今天刚刚好走过25年的人生,也来总结一下~ 1991/09/20 (农历八月十三)下午3:15 张小贱闪亮登场,刚出生貌似五斤二两,注定从一开始就是个瘦子。 1992 1岁 ,最先学会的运动是爬,而且不会往前爬,只会往后爬,有大人逗我的话,只能是越逗越远。大概是一岁零三个月的时候学会走路,现在觉得学会走路是特别有纪念意义的事,高中的时候才能正式开启“职业生涯”。 […]

    我的25年

    前段时间看了大神P叔的博客,除了技术之外,看得出对自己人生清晰的规划,结合P叔现在的成就,可以说当年吹的牛逼都实现了,并且有过之而无不及。其中有一篇 我的20年 ,四岁就知道自己想上国防科大,真是让四岁还不知道要上哪所小学的我羡慕不已。今天刚刚好走过25年的人生,也来总结一下~ 1991/09/20 (农历八月十三)下午3:15 张小贱闪亮登场,刚出生貌似五斤二两,注定从一开始就是个瘦子。 1992 1岁 ,最先学会的运动是爬,而且不会往前爬,只会往后爬,有大人逗我的话,只能是越逗越远。大概是一岁零三个月的时候学会走路,现在觉得学会走路是特别有纪念意义的事,高中的时候才能正式开启“职业生涯”。 […]

    Continue Reading...

  • 最近小伙伴在分布式数据库(DPINM)环境下做实验,数据集比较大,分到集群中每台机器上,会报lock不够用的错。Berkeley DB在初始化的时候,就会初始化锁子系统,为锁结构分配内存空间,一旦启动,是不可以动态分配的,如果不够用,就会报错。后来调节了参数,加大了Locks,  Lockers, Locked Object 的最大数量,重启之后被惊呆了,锁子系统映射到文件系统的共享内存空间竟然有60多G,磁盘立马就不够用了(挂载目录只有100G….)。以前看到过配置锁子系统的参数该如何算,总结起来就是能大就大,毕竟不够用重启很麻烦,但万万没想到占这么大的空间,所以还是仔细看看怎么 […]

    Berkeley DB 锁子系统的配置

    最近小伙伴在分布式数据库(DPINM)环境下做实验,数据集比较大,分到集群中每台机器上,会报lock不够用的错。Berkeley DB在初始化的时候,就会初始化锁子系统,为锁结构分配内存空间,一旦启动,是不可以动态分配的,如果不够用,就会报错。后来调节了参数,加大了Locks,  Lockers, Locked Object 的最大数量,重启之后被惊呆了,锁子系统映射到文件系统的共享内存空间竟然有60多G,磁盘立马就不够用了(挂载目录只有100G….)。以前看到过配置锁子系统的参数该如何算,总结起来就是能大就大,毕竟不够用重启很麻烦,但万万没想到占这么大的空间,所以还是仔细看看怎么 […]

    Continue Reading...

  • 本文翻译自Berkeley DB 官方文档 Architecting Transactional Data Store applications 一节,主要讲述使用BDB作为存储引擎时提供事务支持的几种进程访问模式。每个BDB环境都对应一个文件系统目录,其中包涵存储的数据和运行时提供的锁资源,互斥变量资源,共享缓冲池等。每个目录可以被多个BDB进程打开访问,但使用复杂度有较大区别。需要说明的是,每一个目录在打开它的BDB进程中被称作一个数据库环境,一个目录可以对应多个环境,一个环境只能对应打开一个目录。几种架构模式分别为: 一个进程 多个相关的进程 多个不相关的进程 正文: 当构建支持事务的应 […]

    Berkeley DB 事务支持的应用架构

    本文翻译自Berkeley DB 官方文档 Architecting Transactional Data Store applications 一节,主要讲述使用BDB作为存储引擎时提供事务支持的几种进程访问模式。每个BDB环境都对应一个文件系统目录,其中包涵存储的数据和运行时提供的锁资源,互斥变量资源,共享缓冲池等。每个目录可以被多个BDB进程打开访问,但使用复杂度有较大区别。需要说明的是,每一个目录在打开它的BDB进程中被称作一个数据库环境,一个目录可以对应多个环境,一个环境只能对应打开一个目录。几种架构模式分别为: 一个进程 多个相关的进程 多个不相关的进程 正文: 当构建支持事务的应 […]

    Continue Reading...