buffer_pool.go

package nsqd

import (
    "bytes"
    "sync"
)

var bp sync.Pool

func init() {
    bp.New = func() interface{} {
        return &bytes.Buffer{}
    }
}

func bufferPoolGet() *bytes.Buffer {
    return bp.Get().(*bytes.Buffer)
}

func bufferPoolPut(b *bytes.Buffer) {
    bp.Put(b)
}
				
时间: 2024-10-21 10:23:56

buffer_pool.go的相关文章

快速预热Buffer_Pool缓冲池

在之前的版本里,如果一台高负荷的机器重启后,内存中大量的热数据被清空,此时就会重新从磁盘加载到Buffer_Pool缓冲池里,这样当高峰期间,性能就会变得很差,连接数就会很高. 在MySQL5.6里,一个新特性避免的这种问题的出现. 你只需在my.cnf里,加入如下: innodb_buffer_pool_dump_at_shutdown = 1 解释:在关闭时把热数据dump到本地磁盘. innodb_buffer_pool_dump_now = 1 解释:采用手工方式把热数据dump到本地磁

Mysql5.6 buffer_pool预热功能

通常在mysql重启服务后,需要通过手工执行SQL来预热buffer_pool,在mysql5.6中,有如下参数可以无需人工干预. innodb_buffer_pool_dump_at_shutdown= 1:在关闭时把热数据dump到本地磁盘 innodb_buffer_pool_dump_now = 1:采用手工方式把热数据dump到本地磁盘 innodb_buffer_pool_load_at_startup=1:启动时把热数据加载到内存 innodb_buffer_pool_load_n

oracle命中率模型计算

命中率模型是在owi之前比较常用的一种诊断性能问题的方法,通过命中率的计算,发现系统中的一些设置是否合理,当命中率不高的时候,通过调整一些参数和设置,提高命中率,有效的提高系统的性能和吞吐量.但当系统的命中率很高的时候,系统的性能问题和瓶颈就无法使用命中率模型来有效的定位,因为命中率说到底是一种平均值,而均值会隐藏系统的问题,这里暂且讨论oracle系统上几个相关的命中率的计算.另外会再讨论owi模型. 在awi的报告中,首先是oracle实例和snapshot信息,然后就是report sum

MySQL存储写入性能严重抖动分析

案例描述: 通过iostat发现存储的写性能长期维持在10MB左右,而且因为写性能差已经导致数据库性能变差: 两个小时以后,iostat发现系统的写性能已经能够到100MB以上,数据库性能也恢复正常. 也就是说,在对系统.数据库监控中,出现了性能波谷,存储写入性能严重抖动,为什么? 一.原理过程 由上原理图,进行过程解析: 1.事务提交,修改buffer_pool中的数据形成脏页,并且同时生成redo日志,将日志写入磁盘redo log中: 2.事务提交成功: 假设,有三组redo log文件,

mysql5.5 5.6 5.7新特性

1,5.5默认存储引擎为innodb 2,5.5增加cpu多核处理能力:innodb_read_io_threads innodb_write_io_threads 3,5.5改善磁盘IO 提高脏页刷新增也数量和合并插入数量:innodb_io_capacity 增加自适应刷新脏页功能:innodb_adaptive_flushing (innodb刷新脏页的规则是在如下三种情况下才会把innodb_buffer_pool的脏页输入磁盘: 1,当超过innodb_max_dirty_pages_

oracle内存结构

一.内存结构 SGA(System Global Area):由所有服务进程和后台进程共享: PGA(Program Global Area):由每个服务进程.后台进程专有:每个进程都有一个PGA. 二.SGA 包含实例的数据和控制信息,包含如下内存结构: 1)Database buffer cache:缓存了从磁盘上检索的数据块. 2)Redo log buffer:缓存了写到磁盘之前的重做信息. 3)Shared pool:缓存了各用户间可共享的各种结构. 4)Large pool:一个可选

Mysql 5.6 新特性(转载)

本文转载自 http://blog.csdn.net/wulantian/article/details/29593803 感谢主人的辛苦整理 一,安全提高 1.提供保存加密认证信息的方法,使用.mylogin.cnf文件.使用mysql_config_editor可以创建此文件.这个文件可以进行连接数据库的访问授权.mysql_config_editor会进行加密而不是明文存储.客户端只会在内存中进行解密.这样密码以非明文方式存储,不会在命令行或者环境变量中暴露.更多信息,访问 Section

Oracle日常维护脚本

1.正常停库流程     ps -ef|grep LOCAL=NO|cut -c 9-15|xargs kill -9      shutdown immediate; 2.备份数据库     backup database format '/home/orarch_ccmpdb1/backup2/full_%d_%s_%p_%u.%T';      backup current controlfile format '/home/orarch_ccmpdb1/backup2/controlfi

一个java工程师的前6年工作部分技术积累(二)

五.  Oracle 1.创建表 CREATE TABLE BD_ASSESS_PERIOD_TYPE_T ( PERIOD_TYPE  VARCHAR2(16 BYTE)                NOT NULL, PERIOD_NAME  VARCHAR2(16 BYTE)                NOT NULL ) TABLESPACE TS_TAB_BASE03 PCTUSED    40 PCTFREE    10 INITRANS   1 MAXTRANS   255