[Idea Fragments]2013.08.08
# 1
今晚看到好几篇文章把golang,Node.js还有Nginx-lua拿来说事,Node.js现在自然比较熟悉,golang则有过一些了解,而Nginx-lua则少有听到。
有好事者对Node.js和Nginx-lua做了些benchmark的工作,似乎nginx-lua的性能不错,在CPU和内存上更胜一筹。
http://bluehua.org/demo/php.node.lua.html
# tenengine
http://tengine.taobao.org/
https://github.com/alibaba/tengine
tengine是taobao的nginx修改版,可以被看作一个更好的Nginx,或者是Nginx的超集。
感觉他们的ngx_http_concat_module这个模块有些意思,它可以将对css、javascript的请求结果拼接起来,从而减少下载时间。
# Node.js 监测文件改动
在调试的时候,经常需要重新启动 node.js 以便修改过的文件生效,原来第三方的 cluster 有一个配置项,可以很方便的配置监测时间间隔,文件改动后自动重新启动 worker,但是原生的 cluster 就没有这个功能了,需要自己来实现。
fs 模块提供了 watch 函数,可以方便的监测文件修改,使用这个就可以来实现文件修改后自动重启 woker 功能了。
//------------------------------------------------------------------
if (cluster.isMaster) {
process.title = appName + ' master';
console.log(process.title, 'started');
var workers = [];
// 根据 CPU 个数来启动相应数量的 worker
for (var i = 0; i < numCPUs; i++) {
var worker = cluster.fork();
workers.push(worker.pid);
}
process.on('SIGHUP', function() {
// master 进程忽略 SIGHUP 信号
});
// 监测文件改动,如果有修改,就将所有的 worker kill 掉
fs.watch(__dirname, function(event, filename) {
workers.forEach(function(pid) {
process.kill(pid);
});
});
cluster.on('death', function(worker) {
var index = workers.indexOf(worker.pid);
if (index != -1) {
workers.splice(index, 1);
}
console.log(appName, 'worker', '#' + worker.pid, 'died');
worker = cluster.fork();
workers.push(worker.pid);
});
}
//--------------------------------------------------------
转载于:https://www.cnblogs.com/piaoger/p/3247160.html
[Idea Fragments]2013.08.08相关推荐
- android 部分文字加粗,2013.04.08——— android 关于部分文字加粗的有关问题
2013.04.08--- android 关于部分文字加粗的问题 2013.04.08--- android 关于部分文字加粗的问题 参考:http://blog.csdn.net/garretl ...
- 2013.08.08——— android 中文简繁体转换
2013.08.08--- android 中文简繁体转换 参考:[url]http://www.pupuliao.info/2012/09/java%E7%9A%84utf-8-%E7%B9%81% ...
- HighNewTech:2019.08.08华为发布—面向2025十大趋势
High&NewTech:2019.08.08华为发布-面向2025十大趋势 导读 华为今日发布全球产业展望GIV@2025,提出智能世界正在加速而来,触手可及,并预测:到202 ...
- HighNewTech:2019.08.08鲲鹏开发入门暨 2019华为云鲲鹏开发者大赛参赛攻略
High&NewTech:2019.08.08鲲鹏开发入门暨 2019华为云鲲鹏开发者大赛参赛攻略 目录 演讲PPT 1.基础知识 2.赛题解读 3.参赛攻略 4.FAQ 演讲PPT 1.基础 ...
- [Buzz Today]2012.08.08
# Dark Reign 2 源代码现身Google Code Pandemic工作室开发的即时战略游戏<Dark Reign 2>源代码被泄露到了Google Code http://c ...
- 2019.08.08学习整理
2019.08.08学习整理 文件的高级应用 1.可读.可写 r+t: 可读.可写 w+t: 可写.可读 a+t: 可追加.可读 # wt with open('36w.txt', 'wt', enc ...
- 面试题 08.08. 有重复字符串的排列组合-快速排序+回溯深度优先搜索
面试题 08.08. 有重复字符串的排列组合+快速排序加回溯深度优先搜索 有重复字符串的排列组合.编写一种方法,计算某字符串的所有排列组合. 示例1: 输入:S = "qqe" 输 ...
- 面试题 08.08. 有重复字符串的排列组合
面试题 08.08. 有重复字符串的排列组合 有重复字符串的排列组合.编写一种方法,计算某字符串的所有排列组合. 示例1: 输入:S = "qqe"输出:["eqq&qu ...
- 一键GHOST v2008.08.08
一键GHOST是"DOS之家"首创的4种版本(硬盘版/光盘版/优盘版/软盘版)同步发布的启动盘,适应各种用户需要,既可独立使用,又能相互配合.主要功能包括:一键备份C盘,一键恢复C ...
- 2020.08.08【NOIP提高组】模拟:奶牛的图片 总结
2020.08.08[NOIP提高组]模拟:奶牛的图片 总结 Description Farmer John希望给他的 N ( 1 ≤ N ≤ 100 , 000 ) N(1\leq N\leq100 ...
最新文章
- softmax 与 logsoftmax 区别 或者说logsoftmax优点
- Google 全球员工围攻 Google!
- 广州限购后首场车展明日开幕
- php 开启imagick,PHP-Imagick:在Imagick项目上设置重力
- bzoj4330:JSOI2012 爱之项链
- 不想被时代抛弃,就别远离一线
- 女生,到底能不能当程序员?
- 回溯---含有相同元素求子集
- web网页 页面布局的几种方式(转)
- php xml 增加节点,PHP往XML中添加节点的方法_php技巧
- 编程基本功:工作环境、运行环境,跟代码一样重要,都要备份
- NX_UG1872安装
- 系统发育树操作神器-TreeTools-持续更新
- 深度时空3D卷积神经网络用于交通预测(文末附数据链接)
- CAN总线与CANOPEN协议
- linux centos中使用cp命令复制文件的时候出现omitting directory报错如何解决
- c# 编写水准测量平差程序
- 微信浏览器调用手机摄像头录像
- 判断用户输入的8位信用卡号码是否合法
- QT利用QAxWidget加载IE浏览器控件COM技术
热门文章
- 二等水准测量记录数据_公路水准测量培训道路放样测量学习
- vue项目中的遇错:Invalid Host header
- 【若依(ruoyi)】Unknown column ‘create_time‘ in ‘order clause‘
- 【微信小程序】给绑定事件传参数
- @SentinelResource使用
- iphonex适配游戏_Cocos Creator 适配怎么做?
- 如何保存一个函数_如何表达一个“分段函数”之学习Matlab Function模块
- python api接口 安全_App开放接口api安全性的设计与实现
- raid卡缓存对硬盘性能_Mac Pro 2019加装2.5英寸机械硬盘方案
- struts2文件上传(2)