carlosfu


  • 首页

  • 分类

  • 归档

  • 标签

mysql问题-死锁问题

发表于 2017-07-25   |   分类于 MySQL   |     |   阅读次数

本文只给出现象和解决方法,并没有深度分析原因(mysql功力不够。)

一、表结构

1
2
3
4
5
6
7
8
9
10
11
12
CREATE TABLE `app_client_value_minute_stat` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
`app_id` bigint(20) NOT NULL COMMENT '应用id',
`collect_time` bigint(20) NOT NULL COMMENT '统计时间:格式yyyyMMddHHmm00',
`update_time` datetime NOT NULL COMMENT '创建时间',
`command` varchar(20) NOT NULL COMMENT '命令',
`distribute_type` tinyint(4) NOT NULL COMMENT '值分布类型',
`count` int(11) NOT NULL COMMENT '调用次数',
PRIMARY KEY (`id`),
UNIQUE KEY `app_collect_command_dis` (`app_id`,`collect_time`,`command`,`distribute_type`),
KEY `idx_collect_time` (`collect_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='客户端每分钟值分布上报数据统计';
注意:id是primary key, 四个列组成了unique_key
阅读全文 »

jvm学习之-jstat

发表于 2017-07-25   |   分类于 Jvm   |     |   阅读次数

一. 简单说明

jstat是用于监控虚拟机各种运行状态信息的命令工具,尤其对于了解垃圾回收的情况很有帮助(类装载、垃圾收集、运行期编译状况)。

二. 使用方法

1
jstat <option> pid [interval] [count]

下图来自深入理解java虚拟机,这里只选几个重要的进行说明
jstat选项

阅读全文 »

jvm学习之-jmap

发表于 2017-07-25   |   分类于 Jvm   |     |   阅读次数

一. 简单说明

jmap是和JVM堆内存相关的命令,比如dump出堆内存、堆内存的基本使用情况、堆内存使用情况直方图等等。

二. 使用方法

1
jmap <option> pid
选项 说明 影响程度 重要程度
-heap 显示堆内存的详细信息(例如:回收器信息、分代内存等等) 不会对线上有影响 五星
-histo 显示堆内存中对象的统计信息,类似直方图 不会对线上有影响 五星
-dump 生成堆内存的快照 轻易不要在线上使用 四星
-F 强制生成快照 轻易不要在线上使用  四星
-permstat 以classloader为统计口径查看永久代信息 测试了一下应该对线上有影响(确实没用过) 三星
阅读全文 »

看图理解HBase

发表于 2017-07-25   |   分类于 HBase   |     |   阅读次数

一、HBase生态系统

Hbase生态系统

阅读全文 »

Hbase学习3-java客户端基本使用

发表于 2017-07-25   |   分类于 HBase   |     |   阅读次数

注意:有些优化参数,例如WAL,cache,autoCommit等等没有涉及,后面继续学习。

相关代码:https://github.com/carlosfu/hbase-train

一、pom依赖

阅读全文 »

分布式服务框架学习1-一个最简单的RPC服务

发表于 2017-07-25   |   分类于 RPC   |     |   阅读次数

一、实现思路

  • SocketServer作为服务端,Socket作为客户端。
  • 定义公共接口,例如XXXService。
  • 在服务端,定义XXXService的实现类,例如XXXService。
  • 客户端将要调用XXXService、方法名、参数,通过Socket的中的OutPutStream传到服务端,服务端利用反射拿到要调用的实现类、方法、参数类型、参数进行本地调用,然后通过Socket返回给客户端。
1
整个过程,基本上述所描述,基本的RPC思路已经出来了(先不讨论分布式服务框架的层面),单单作为RPC已经足够,那么SocketServer和Socket对于要传的参数的含义、顺序等应该打成一致,其实也就是所谓的协议,后面在介绍dubbo源码的时候再进行分析。
阅读全文 »

Redis 3.2.0 new-1.对比3.0

发表于 2017-07-25   |   分类于 Redis   |     |   阅读次数

一、Redis3.0与3.2文件对比

1. clone redis

1
git clone https://github.com/antirez/redis.git

2. checkout分支

1
2
3
cd redis
git checkout 3.0
git checkout 3.2

3. 比较

(1) 比较3.0和3.2文件变化数

1
2
> git rev-list 3.0..3.2 --count
1708

(2) 比较3.0和3.2文件变化统计

1
2
> git diff 3.0..3.2 --shortstat
比较3.0和3.2文件变化数

阅读全文 »

记一次CacheCloud停服

发表于 2017-07-18   |   分类于 CacheCloud   |     |   阅读次数

1. 故障表现

四台Cachecloud同时报警、CacheCloud页面无法访问、应用接口(通过appId拉取节点)和上报接口无法访问。

阅读全文 »

常用脚本-2.保存java进程相关现场

发表于 2017-07-12   |   分类于 脚本   |     |   阅读次数

一、作用

由于某些原因,Java进程需要快速重启或者直接kill -9,但为了便于后期的问题分析和定位,有必要保存当前机器以及进程的各种状态现场。

阅读全文 »

常用脚本-1.计算java进程cpu消耗topN

发表于 2017-07-12   |   分类于 脚本   |     |   阅读次数

一、作用

由于某些原因(死锁、死循环、锁等待),Java进程有时候会出现CPU过高的情况,如果能了解当前Java进程中的每个线程消耗的CPU量以及对应的线程栈,对于问题的定位十分有帮助。

阅读全文 »
123…6
carlosfu

carlosfu

55 日志
22 分类
47 标签
cachecloud shiye xiaodada
© 2018 carlosfu
由 Hexo 强力驱动
主题 - NexT.Mist