工地 > 博客pprof分析

2017-12-13

给blog程序做了个pprof分析。

先是安装  工具库

go get github.com/pkg/profile

然后再引入

import "github.com/pkg/profile"

再在入口中加入代码

defer profile.Start(profile.CPUProfile).Stop()

然后go build,ab跑需要的值。

再go tool pprof ./app pprfo文件位置,输入web指令,看到全图,能按时间占用来分析网站的问题点在哪了。


就我这次分析,一共是151s/238s。

其中

http请求头解析 13s

http相应写入 26.8s

属于硬消耗,除非不使用net/http,否则基本无法避免和优化。

fd操作:

accept fd_unix 6.07s

destory fd_unix 9.76应该也是避不过。

msgpack的反序列化是27s,比我一直预期的其实要更好。

然后大头就是redis连接使用的70s了。

直接就占了总cpu消耗的1/3了。

看来只要用了 redis库,这个数量级就逃不掉了。

唯一能优化的地方是,为了能按分类优化,我加如了一个临时前缀。

这部分走的也是redis,占用了大概占用了一般的redis消耗,这是个很大的问题。


工地 > 博客负优化中

2017-12-13

最近终于有了一点时间,开始完善自己的go框架,拿博客作为方向。

重做用户系统,加入评论功能。

在修改/调整缓存模块的时候,再跑了一下ab,发现网站访问的愈发的慢了。

同一台2014 rmbp

在使用freecache做程序内缓存的时候,从之前有记录可查的首页18k rps/内页22k rps下降到了 13k /18k

驱动切换为redis的话,低到令人发指的,8k.12k

连c10k都实现不了了。

充分暴露我了我只是一个喜欢写代码的渣渣票友的本质……

真担心等真的调整完功能都实现后rps连php都不如了。

只能催眠自己这是因为电脑Cpu老化了,终于有理由可以换新电脑了-_____-

杂言碎语 > 大半夜的快被苹果蠢哭了

2017-12-02

最近要给公司弄个Phonegap封装的app,逃不过 max os的虐,搞了几天,好不容易能收尾了。今天彻底被蠢哭。

先记录,封装提交最靠谱的资料是这篇

http://ionicframework.com/docs/v1/guide/publishing.html

开发时遇到了 “Cordova/CDVViewController.h” 找不到,各大网站的方案都试过没用。

最后是因为之前有安装过旧版本的 cordova,手动通过npm升级解决。

然后吐槽。

app万年提交不上去。

xcode和application loader都卡在app store/ituns 验证这布。睡了几觉了都不行。你tm在大陆进行运营,还收了开发者的注册费用,结果连提交服务器都无法保证正常工作?呵呵你一脸啊。

那好,我想办法ss总行吧?

找个了客户端,要求mac os 版本升级。

升就升吧?

然后噩梦开始了。

升级必须要登apple id?

好,登自己的ipad/iphone帐号

提示“此版本的osx 不支持银联,请升级至最新版本的osx并重试”

我要升级系统,你告诉我要升级到最新版本的osx再重试?

我要升级系统,你告诉我要升级到最新版本的osx再重试?

我要升级系统,你告诉我要升级到最新版本的osx再重试?

好,我换用公司帐号。Apple 开发者帐号,总行了吧?

还不行,必须检查信息。

好吧,我检查,谁让我贱呢。一个表格而已,难道还能难倒我不成?

还真难倒了。

查看您的地址过不了,除了优惠码啥空都填了,居然提示我 您没有完整填写表格。

一脸懵逼。

我连没啥好填的街都给你写了个 “无” 好不。

我认怂,我放狗搜

http://tieba.baidu.com/p/3534415626

不能选无,必须选银行卡。

既然不能选无,你把它列出来,还作为默认选项干嘛?

可以选,不可以用?

你一个连空root帐号都能暴漏洞直接登录的系统,还强制让我选个支付方式给你?

行,你狠,我贱。

从心底里心疼ios/mac程序员,以后一定要对他们好一点。


网络 > 上海电信封禁80/443端口后,将公司内网管理系统app接了vpn转到了外网服务器上。

2017-10-26

之前一直想着开个外网固定ip的出口的。

这次被迫实行了。

外网服务器做openvpn server

内网服务器作为openvpn client,固定ip

然后前端nginx直接转发。

杂言碎语 > 不耐摔的mix,装google play很累的米6

2017-10-05

用了4个月的小米mix,最后还是没有火锅这个国庆,在我和女儿的手里彻底摔烈了。

全陶瓷的外壳,就是这样的脆弱。

Mix什么都好,这外壳实在是让人难以接受。

不禁让人怀念诺基亚的时代。

对于同样陶瓷的mix 2暂时也没啥兴趣了。看了看有现货的米6,搞了台,毕竟便宜摔了也不心疼。

拿到手后,对于屏幕适应了半天,总算习惯了。

就是装Google play有点蛋疼。卡在了正在核对信息这一步。

看了各路攻略更是混乱。

最后用了最简单的方法。

  1. 手机打开www.miui.com.下载开法版的rom。
  2. 利用手机自带的功能刷成开发板。
  3. 连上无障碍的网络。
  4. 搜索go谷歌安装器安装。
  5. 完工

代码 > 用nssm为windows添加服务

2017-09-29

最近牵涉到需要在为客户做一个提供api转发的守护程序,研究了下什么方法最方便,立刻看中了nssm

nssm有命令行以及图形界面,通过简单的bat程序就能非常容易的做一个注册服务的安装程序。

具体网址:

https://nssm.cc/

代码 > golang中生成prefix形式的xmlns的xml文件

2017-09-17

最近在做一个调用soap接口守护程序。

找了一圈golang的库,都不是太好用,就干脆用仿照soap代码,自己生成和解析xml代码了。

然后发现golang 至少 1.9的xml库,虽然可以解析prefix,但不能生成prefix。查了一圈只能用模拟的方式自行去实现。

也就是自己去生成xmlns的属性,自己填入。

具体来说,代码结构如下:

type GetPartsInfoListRequest struct {
    SoapNS string `xml:"xmlns:soap,attr"`
    TemNS string `xml:"xmlns:tem,attr"`
    XMLName xml.Name `xml:"http://schemas.xmlsoap.org/soap/envelope/ soap:Envelope"`
}
    req := GetPartsInfoListRequest{}
    req.SoapNS = "http://schemas.xmlsoap.org/soap/envelope"
    req.TemNS = "http://tempuri.org/"
    bytes, err := xml.Marshal(req)
    if err != nil {
        panic(err)
    }
    fmt.Println(string(bytes))



另有之前遇到的错误

The SOAP action specified on the message, '', does not match the HTTP SOAP Action, 'http://tempuri.org/xxxx'.

这是构建请求xml时没有加入ws-a信息

参考 https://social.msdn.microsoft.com/Forums/vstudio/en-US/ed32328d-e3ad-47dd-bcb0-3db9e6205f9c/actionmismatchaddressingexception?forum=wcf

解决方案是在soap header中加入wsa的header。大概代码为

<soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:Action>http://tempuri.org/xxx</wsa:Action>
</soap:Header>

杂言碎语 > 不得不说雷军的策略很成功

2017-09-13

Iphone x发布当天,知乎上讨论的最多的就是iphone x 和mix 2的比较。

平心而论,iphone x , 三星s8,mix 2三款手机里,我还是觉得s8的外形最吸引我。

但为什么对比的最多的是这两款呢?

不得不说雷军的策略好啊,成功的蹭了一波热度。

网络 > v2ex,现在也就沦落成这样一个地方了,哪怕我最多是个乌鸦,也的确也没什么和猪一起在泥潭打滚的必要了。

2017-09-04

“我这个人,你可以讨厌我,你可以觉得实在是个没啥出息的玩意,真都很正常,但我至少光明磊落,至少我会为我说的话做的事情负责” 至少是这么觉得的。 

今天处理完事情上线,发现一条提醒。 

发现是很可笑的匿名贴。 

无非是把一些我自己发布的信息集中一下,试图 SEO 一下我的公司,诸如我长得丑,我的女儿不一定是我亲生的之 类人身攻击一番。 

看完之后,的确感想很多。 

不是害怕,不是愤怒,而是失望,深深的失望。 

曾几何时,我刚来 v2ex,可不是为了这里吹捧苹果,可不是为了这里觉得几万块的工资就能炫耀一下,可不是这里已有抱怨工作就让人走,可不是这里别人夫妻闹个别扭就让别人离婚。 

因为这里还是有不少讨论很 COOl,记得当年讨论的至少还是技术合伙人之不是该有干股,讨论期权和股权是否还有意义。 

其实大概两年前,我已经开始发帖说怀疑自己是否是已经不适合现在的 V2EX 了,从开始的激动不解。到现在的不屑。 

最近呢?我都不记得今年看到过有啥让我眼前一亮的帖子过。 

事实证明了一切。 

我这一年左右在 V2EX 经了了哪些在其他地方没经历过的事情? 

首先,是某人通过人肉到我,用网络电话试图匿名打电话给我,开口让我说一句上海话看看。 

其次,是微信上某人加我,至少意思上说是感谢我在他回复里的支持。然后,过了几天,把我拉近一个各种嘲讽我 id 的群。拉黑,关了微信的通过 ID 寻找。 

第三,也就是这次的。公布我信息没什么,那一堆人身攻击真是呵呵了。 

恩,在我这文章打了一半,密码被改了……无所谓了。 

我觉得我完全对 V2EX 上的这群人失望了。 

不想多说什么,你们赢了,当然,你们或许觉得是因为公布了我的信息我怕了? 

其实这些信息都很公开。 

我叫徐佳麟,这个很容易查到。 

我的手机可以通过 whois 我的博客地址找到,我没做过任何隐藏,至少也有人验证过。 

我的照片可以通过我的博客上的 500px/图虫上找到。长得的确不怎么样,就不放出来吓人了。 

我目前就职的信息也可以通过我的博客上很容易的找到。 

我的 email 在我的 github 上可以找到。如果不愿意找,也很简单,jarlyyn qq.com

我女儿的照片在我做的简单页面 http://www.xuxinquan.com 上可以找到。 

恩,其实,你们说的没错,我真的怕你们了。 

我真的怕我的老婆,我的女儿,我的朋友问我居然玩这么个这么满是屌丝-----我真的觉得屌丝是一句最恶毒的话-----的地方混。 

不光是物质上的屌丝,还是精神上的屌丝。 

的确这个论坛上还是有一些比较出色的人的。至少我的关注列表也不是空空如也。 

但对于我一个这么个死要面子的人来说,实在是不能忍受别人用那种很嫌弃的眼神看着我,问我怎么混这种地方。 

你们赢了。你们靠自己的方式击败了我。不知道,你们是否满意,是否开心,是否得意? 

愿 V2EX 越来越好,愿 V2EX 成为 livid 的骄傲,愿 V2EX 最终成为所有 v2er 的骄傲。


https://www.v2ex.com/t/387985

Linux > 备忘.GIT hook设置。推送后stash。

2017-07-21
GIT_DIR=.git

cd ../
git stash


一开始没发现git_dir属性不对,坑了半天