- 博客(21)
- 资源 (1)
- 问答 (3)
- 收藏
- 关注
原创 redis限制注意点
使用CONFIG SET timeout 控制客户端连接超时 对于客户端的连接输出量有限制 There are two kind of limits Redis uses: The hard limit is a fixed limit that when reached will make Redis closing the client connection as soon as poss
2016-07-29 16:13:52 1396
原创 redis延时监控
redis的延时是指客户端发送一个命令,并接受到响应的最大延时, 可以从下面的几方面进行排查: 1使用slow log功能检查是否有慢的命令在执行 2对于ec2的用户,确保使用HVM 3transparent大页内存需要被禁用 4使用latency监控器功能来获得延时事件的可读描述 监控延时 redis-cli –latency -h host -p port 使用延时监控器 1设
2016-07-29 15:54:21 3081 1
转载 redis使用内存方式
1当key被删除后,redis的内存不会返回给操作系统 2redis会使用删除掉key后空闲的内存空间 3需要配置maxmemory,如果不配置这个限制,redis可能会用尽机器的内存,同时建议配置 maxmemory-policy 为noeviction 在redis2.2版本开始,很多的数据类型可以被优化压缩至特定的大小,hash,list,由整数组成的set,和排序set,当小于给定的元
2016-07-29 14:30:03 1113
原创 应用写库异常问题分析
开发说在测试的时候出现了重复主键的错误的,但是数据库中的记录中没有这个主键,上去看了下发现确实是没有这个记录,但是在另外的测试库中有这个记录,代码中的意思是先查询A库,然后再根据查询的结果去插入数据到B库,但是现实的结果是插入了A库当中,A与B没有设置复制,是独立的库,经过检查确认是代码的问题,在使用多源数据库的时候,没有正常切换数据源导致的问题,应该是在一个事务中切换数据源没有生效,导致还是使用了
2016-07-29 10:58:38 343
原创 pg源码阅读五
在pg启动的时候,会初始化共享内存,下面看下过程 在postmaster中使用下面的调用进入初始化过程 /* * Set up shared memory and semaphores. */ reset_shared(PostPortNumber); 传入的是端口号,每次启动的时候,都是根据这个端口号来分配相同的IPC key, CreateSharedM
2016-07-28 23:06:19 1251
原创 mariadb多源复制中只同步1个库
在多源复制的情况下,有的时候我们只需要同步其中一个源的一个库,但是在设置好同步后,会把relay log中的所有的事件都应用导致复制报错,可以使用set global replicate_wild_ignore_table来忽略不需要的库 但是由于是多源复制,设置变量后对于复制不起作用,可以使用下面的方式: 1将需要同步一个库的连接设置为默认连接 SET default_master_conn
2016-07-27 15:34:49 1451
原创 mysql无法优化的sql案例
今天有个开发提sql,需要优化,如下: SELECT count(*) FROM ( SELECT a.vender_id venderId, a.store_id storeId, a.store_name storeName, a.order_id orderId, a.order_type orderType, a.order_time orderTime, a.dmall_
2016-07-26 14:51:55 513
原创 pg源码阅读四
pg中的内存是内存上下文来管理的,有不同类型的上下文,不同的上下文是通过MemoryContextMethods指针操作的,下面的是顶层的上下文 MemoryContext CurrentMemoryContext = NULL;默认的上下文 MemoryContext TopMemoryContext = NULL; MemoryContext ErrorContext = NULL; M
2016-07-23 21:07:50 621
原创 mongodb简单命令
启动服务 ./mongod–dbpath进入shell ./mongod –dbpath 进入shell cd /usr/local/mongodb/bin $ ./mongo show dbs use test 没有就创建,如果库是空的,show dbs是看不到的 连接远程服务 mongodb://admin:123456@localhost/test 删除数据库: 首先
2016-07-21 11:48:34 964
原创 mysql修改时区
mysql修改时区可以使用 set global time_zone = ‘+8:00’; Query OK, 0 rows affected (0.00 sec) flushprivileges 需要重新连接看到新的修改,并且这个修改在从库中是无法应用的,需要在从库上执行一遍。
2016-07-21 11:11:09 550
原创 pg源码阅读三
之前提到,bgwriter没有检查点就执行BgBufferSync();刷新buffer,下马继续看下多久执行一次,主要是通过BgWriterNap()来配置等待时间 /* * Nap for the configured time, or sleep for 10 seconds if there is no * bgwriter activity configured.
2016-07-19 22:34:09 714
原创 mysql修改时区
mysql修改时区可以使用 set global time_zone = ‘+8:00’; Query OK, 0 rows affected (0.00 sec) flushprivileges 需要重新连接看到新的修改,并且这个修改在从库中是无法应用的,需要在从库上执行一遍。
2016-07-19 17:42:38 497
原创 pg源码阅读二
postmaster中使用AuxiliaryProcessMain来启动bgwriter walwriter等,在该类中去分别启动不同的辅助进程 switch (auxType) { case CheckerProcess: bootstrap_signals(); CheckerModeMain();
2016-07-18 23:28:27 717
原创 pg源码阅读一
入口函数是backend/main/main.c,这个文件中只是根据不同的指定配置启动不同类型的进程,比如postmaster,bootstrap模式,和单独后台进程。 没有指定启动默认,默认就是会启动postmaster,开始会初始化内存上下文,设置一些语言变量,随后调用PostmasterMain方法,随后的palloc()方法请求的内存会在PostmasterContext中分配,postm
2016-07-17 12:32:45 1264
原创 mysql cpu使用高案例处理
今天得监控总是在报警,cpu使用高,登录到服务器上看了下用户cpu确实挺高,登录到mysql中看了下,没什么高的并发用户,也没有什么慢的sql,拿到一条频繁执行的sql看了下,40多万的记录,全表扫,虽然执行的挺快,但是这种还是挺耗费资源的,就在字段上加了索引,但是这个字段是longtext,只是在前缀上加了索引 create index idx_col on table(col(21));
2016-07-14 18:08:40 614
原创 redis 有序集合
127.0.0.1:6379> ZADD w3ckey 1 redis (integer) 1 127.0.0.1:6379> ZADD w3ckey 2 mongodb (integer) 1 127.0.0.1:6379> ZADD w3ckey 3 mysql (integer) 1 127.0.0.1:6379> ZADD w3ckey 4 mysql (integer)
2016-07-03 16:50:24 608
原创 redsi 散列
127.0.0.1:6379> hmset ‘baixiaoyu’ age ‘22’ sex ‘male’ home ‘inner monglia’ OK 127.0.0.1:6379> hgetall baixiaoyu 1) “age” 2) “22” 3) “sex” 4) “male” 5) “home” 6) “inner monglia” 127.0.0.1:6379>
2016-07-03 16:03:57 471
原创 redis 集合操作
集合是去重的,无序的 127.0.0.1:6379> sadd skey ‘bai’ (integer) 1 127.0.0.1:6379> sadd skey ‘bai’ ‘xiao’ ‘yu’ (integer) 2 127.0.0.1:6379> scard skey (integer) 3 127.0.0.1:6379> smembers skey 1) “yu” 2) “
2016-07-03 15:57:05 449
原创 redis列表操作
127.0.0.1:6379> lpush lkey ‘bai’ (integer) 1 127.0.0.1:6379> lpush lkey ‘xiaoyu’ (integer) 2 127.0.0.1:6379> lpush lkey ‘yu’ (integer) 3 127.0.0.1:6379> get lkey (error) WRONGTYPE Operation agai
2016-07-03 15:47:51 515
原创 redis字符串操作
127.0.0.1:6379> get name “bai” 127.0.0.1:6379> append ‘name’ ‘hello’ (integer) 8 127.0.0.1:6379> get ‘name’ “baihello” 127.0.0.1:6379> strlen ‘name’ (integer) 8 127.0.0.1:6379> getrange ‘name’
2016-07-03 15:35:37 444
原创 mha
(1)、 Manager工具:masterha_check_ssh : 检查MHA的SSH配置。masterha_check_repl : 检查MySQL复制。masterha_manager : 启动MHA。masterha_check_status : 检测当前MHA运行状态。masterha_master_monitor : 监测master是否宕机。masterha_master
2016-07-01 12:04:54 1271
TA创建的收藏夹 TA关注的收藏夹
TA关注的人