0x00 状态
有一个websocket长连接服务原先是用php的workerman框架跑的,但是近期出现了一些莫名其妙的bug,用Nodejs重写后接替了原先的全部流量。
最初还没什么问题。
跑了一段时间后发现内存泄露问题比较严重,服务器有8G内存,用cluster方式跑了8个进程,几乎24小时内就会吃满8g内存,导致进程被系统kill。
0x01 堆内存分析
遇到内存泄露,第一时间想到的...
有一个websocket长连接服务原先是用php的workerman框架跑的,但是近期出现了一些莫名其妙的bug,用Nodejs重写后接替了原先的全部流量。
最初还没什么问题。
跑了一段时间后发现内存泄露问题比较严重,服务器有8G内存,用cluster方式跑了8个进程,几乎24小时内就会吃满8g内存,导致进程被系统kill。
遇到内存泄露,第一时间想到的...
刚刚升级npm的时候才注意到现在npm安装的时候会带一个npx
去npmjs上看了一下https://www.npmjs.com/package/npx,让我想起来以前一个叫做npm-run的package
这个小工具可以让你替代以前的
node_modules/.bin/webpack
或者
`npm bin`/webpack
现在可以直接用
npx webpack
并且如果本地没有安装
...后来想起来fibjs社区里响马提到用keep-alive测试一发,于是又跑了一遍测试
源码见上篇文章
[bangbang93@10-4-14-175 ~]$ ab -n 100000 -c 500 -k http://server.bangbang93.com:12345/
This is ApacheBench, Version 2.3 <$Revision: 65565
...前面那篇年终总结笼统的按照时间总结了一下博客里的文章。今天来说说开源。
今年自己的开源项目又增添了几个新坑。在这里简单介绍&&总结一发。如果有兴趣的话可以通过pr、issue或者评论留言的方式深♂入♂交♂流。
一个洗脑向的niconiconi无限循环。第一次也是唯一一次使用meteor框架,所以不会做防注入】
只是简单替换...
最近npm需要编译的地方总是会直接打开node-gyp.js,而不是运行它。
看了一下命令行
if not defined npm_config_node_gyp (node "C:\Users\伟航.bangbang93-dev\AppData\Roaming\npm\node_modules\cnpm\node_modules\npm\bin\node-gyp-bin\\..\..\nod...
终于受不了npm的安装速度了,每次发布的耗时都能吃顿饭,让运维配合更换cnpm后查看输出日志却还是npm的格式,而不是npminstall的格式。
运维给出了服务器上的执行脚本
LD_LIBRARY_PATH="/opt/gcc/lib64:/opt/gcc/lib:$LD_LIBRARY_PATH" export LD_LIBRARY_PATH NPM="/opt/node/bin/cnpm...
因为有上传大文件的需求,所以准备使用ufile做存储,可以有效利用服务器内网带宽
于是开始看起ufile的sdk和文档,结果发现
稍微再往下翻翻
你用utf8读二进制文件……能不丢字节才有鬼哦
tab和空格混写又是几个意思
最终一怒之下放弃了nodejs的sdk,自己实现的签名算法,结果看前端的jssdk的时候
初始化分片的xhr请求有个ajax.send(file),直接把文件发上去了,那
...这次又放弃了wordpress,因为wordpress的二次开发实在是挺难受的……一直想给编辑器加一个粘贴上传的功能,还有其他一些速度上的优化,或者玩玩service worker,但是尤其是service worker,想了想还不如干脆重写一个,正好还能得到一个前端试验场地,于是就有了
https://github.com/bangbang93/freyja
这个项目的第一个实例就是现在跑着的这
...这两天翻nodejs的api文档时发现了两个新API,v8.serialize和v8.deserialzie,官方给出的说明是这样的
...The serialization API provides means of serializing JavaScript values in a way that is compatible with the HTML structured clone alg