kafka 延迟调优
摘要:场景, 通过日志发现总有某些消息从kafka发出到消费者接受,这段延时高达200毫秒 需求:发现那个环节是瓶颈 手段: 模拟环境测试 模拟环境: 4G8核心,千兆网卡, 阿里云kafka标准版集群20MB/s 读写规格,客户端go1.5 sarama v1.29.0 from github.com/
阅读全文
Golang runtime初探
摘要:可以使用docker构造自己的环境: Dockerfile FROM centos RUN yum install golang -y \ && yum install dlv -y \ && yum install binutils -y \ && yum install vim -y \ &&
阅读全文
ss 命令参数 redis-benchmark 以及POSTMAN, CURL分析网络
摘要:ss -ti https://www.man7.org/linux/man-pages/man8/ss.8.html -i, --info Show internal TCP information. Below fields may appear: ts show string "ts" if t
阅读全文
tcp协议在定位中的应用(2)
摘要:上一篇文章说到还是产生 accpet open too many files的错误。 这个一般是通过修改ulimit就可以了,但是修改这个参数有一个误区,就是生效的时机。虽然你登录终端看ulimit -a看到open files连接数是够大了,但是对于app运行的环境并不一定是这个数目。具体可以通过
阅读全文
tcp协议在定位中的应用
摘要:1. 问题背景 线上服务变得卡顿。发现 open too many files错误。 2. 定位经过 首先查看linux服务器负载是否高,CPU,MEM,磁盘读写IOPS(发现高,但是很快排除了,因为是错误日志打印太多到本地磁盘)使用netstat 查看当时的连接情况,有条件的可以看监控软件。发现整
阅读全文
golang schedule crash
摘要:golang 起超过100W的goroutine就会crash,这个算不算是个bug? 2036119xxxxpanic: inconsistent poll.fdMutex goroutine 2041065 [running]:internal/poll.(*fdMutex).rwlock(0x
阅读全文
go build -ldflags
摘要:http://studygolang.com/articles/2052 ldflags 用法:【路径,非必需,除非你有目录层次】包名.变量 [path]packege.value go build -ldflags "-X other.VERSION=1.0.0 -X gpxj/other.VER
阅读全文
换手率的公司使用MQTT的框架
摘要:向换手率公司学习。该公司貌似也使用 Golang
阅读全文
微信支付调试
摘要:1. 首先使用官方demo跑通。 2. 理解微信支付的流程: 首先后台服务端,先预下单,从微信获取preOrder订单号。然后后台使用雨订单号等六个字段重新签名返回给app端 3.app端所做的工作很少,只是获取服务端返回的参数即可。 现象:跳转支付页面只有一个确认的按钮 原因: 1. appid没
阅读全文
Go 性能分析
摘要:上线一定要用压力测试,才能知道自己的承受度是多少,不然出了问题,就各种排查。 http://www.tuicool.com/articles/NVRJrm 通过jmeter压力测试,发现打印请求参数消耗太多资源。 执行计划 awr报告
阅读全文
mysql 启动服务
摘要:http://blog.chinaunix.net/uid-13642598-id-3153537.html mysql的四种启动方式: 1、mysqld 启动mysql服务器:./mysqld --defaults-file=/etc/my.cnf --user=root 客户端连接: mysql
阅读全文
后台缓存系统
摘要:为了防止SQL过载,如果读到下面问题,可以考虑使用Redis 1. 读写频繁, (可以搞读写分离Master slave服务器,防止表锁得太久) 2. SQL计算大,数据更新没有这么频繁。 3. 我们使用redis来统计文章的访问量,生成昨天点击排行,本月点击排行等数据. (可以归类为2) 4. .
阅读全文
使用Html来避免写复杂的app代码,跨平台
摘要:http://www.jianshu.com/p/c375ac056149 http://www.php.net.cn/app/
阅读全文
debug 使用lldb
摘要:http://www.zddhub.com/memo/2015/12/20/lldb-golang-debug/ go build -gcflags "-N -l" -o test test.go MoJetdeMacBook-Pro:Downloads mojet$ lldb test (lldb
阅读全文
mysql高负载的问题排查
摘要:http://dngood.blog.51cto.com/446195/1150031log_slow_queries=/usr/local/mysql/var/slow_queries.log#慢查询日志路径long_query_time=10 #记录SQL查询超过10s的语句log-querie...
阅读全文
一个NULL引发的血案
摘要:go sql.stmt query 发生了一个NULL值,所以发现了error, 发现服务不停的初始化sql stmt, 导致连接数过多,服务就变得很慢。首先,我在初始化的之前,要判断这个是否是NULL(见下面列表5)导致的,并非是sql请求出错。 我为啥要全局变量保存sql.Stmt, 导致要处理...
阅读全文
新版本需要新增的表,也需要新增的记录
摘要:stock_app.t_fund_groupstock_app.t_fund_liststock_app.t_fund_tagstock_app.t_recommand
阅读全文
go 语言的库文件放在哪里?如何通过nginx代理后还能正确获取远程地址
摘要:/usr/local/Cellar/go/1.5.1/libexec/src/他的RemoteAddr 是从哪里获取?func (c *conn) RemoteAddr() Addr { if !c.ok() { return nil } return c.fd.raddr} 使用远程地址的被...
阅读全文
defer 要放在return之前
摘要:虽然defer可以在函数退出的时候执行,但是也要把它放在return之前,否则不会调用到。错误的示范:res, err := Resource.open()if err != nil { return err;}defer res.Close()
阅读全文