# 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相关推荐

  1. android 部分文字加粗,2013.04.08——— android 关于部分文字加粗的有关问题

    2013.04.08--- android 关于部分文字加粗的问题 2013.04.08--- android  关于部分文字加粗的问题 参考:http://blog.csdn.net/garretl ...

  2. 2013.08.08——— android 中文简繁体转换

    2013.08.08--- android 中文简繁体转换 参考:[url]http://www.pupuliao.info/2012/09/java%E7%9A%84utf-8-%E7%B9%81% ...

  3. HighNewTech:2019.08.08华为发布—面向2025十大趋势

    High&NewTech:2019.08.08华为发布-面向2025十大趋势 导读        华为今日发布全球产业展望GIV@2025,提出智能世界正在加速而来,触手可及,并预测:到202 ...

  4. HighNewTech:2019.08.08鲲鹏开发入门暨 2019华为云鲲鹏开发者大赛参赛攻略

    High&NewTech:2019.08.08鲲鹏开发入门暨 2019华为云鲲鹏开发者大赛参赛攻略 目录 演讲PPT 1.基础知识 2.赛题解读 3.参赛攻略 4.FAQ 演讲PPT 1.基础 ...

  5. [Buzz Today]2012.08.08

    # Dark Reign 2 源代码现身Google Code Pandemic工作室开发的即时战略游戏<Dark Reign 2>源代码被泄露到了Google Code http://c ...

  6. 2019.08.08学习整理

    2019.08.08学习整理 文件的高级应用 1.可读.可写 r+t: 可读.可写 w+t: 可写.可读 a+t: 可追加.可读 # wt with open('36w.txt', 'wt', enc ...

  7. 面试题 08.08. 有重复字符串的排列组合-快速排序+回溯深度优先搜索

    面试题 08.08. 有重复字符串的排列组合+快速排序加回溯深度优先搜索 有重复字符串的排列组合.编写一种方法,计算某字符串的所有排列组合. 示例1: 输入:S = "qqe" 输 ...

  8. 面试题 08.08. 有重复字符串的排列组合

    面试题 08.08. 有重复字符串的排列组合 有重复字符串的排列组合.编写一种方法,计算某字符串的所有排列组合. 示例1: 输入:S = "qqe"输出:["eqq&qu ...

  9. 一键GHOST v2008.08.08

    一键GHOST是"DOS之家"首创的4种版本(硬盘版/光盘版/优盘版/软盘版)同步发布的启动盘,适应各种用户需要,既可独立使用,又能相互配合.主要功能包括:一键备份C盘,一键恢复C ...

  10. 2020.08.08【NOIP提高组】模拟:奶牛的图片 总结

    2020.08.08[NOIP提高组]模拟:奶牛的图片 总结 Description Farmer John希望给他的 N ( 1 ≤ N ≤ 100 , 000 ) N(1\leq N\leq100 ...

最新文章

  1. softmax 与 logsoftmax 区别 或者说logsoftmax优点
  2. Google 全球员工围攻 Google!
  3. 广州限购后首场车展明日开幕
  4. php 开启imagick,PHP-Imagick:在Imagick项目上设置重力
  5. bzoj4330:JSOI2012 爱之项链
  6. 不想被时代抛弃,就别远离一线
  7. 女生,到底能不能当程序员?
  8. 回溯---含有相同元素求子集
  9. web网页 页面布局的几种方式(转)
  10. php xml 增加节点,PHP往XML中添加节点的方法_php技巧
  11. 编程基本功:工作环境、运行环境,跟代码一样重要,都要备份
  12. NX_UG1872安装
  13. 系统发育树操作神器-TreeTools-持续更新
  14. 深度时空3D卷积神经网络用于交通预测(文末附数据链接)
  15. CAN总线与CANOPEN协议
  16. linux centos中使用cp命令复制文件的时候出现omitting directory报错如何解决
  17. c# 编写水准测量平差程序
  18. 微信浏览器调用手机摄像头录像
  19. 判断用户输入的8位信用卡号码是否合法
  20. QT利用QAxWidget加载IE浏览器控件COM技术

热门文章

  1. 二等水准测量记录数据_公路水准测量培训道路放样测量学习
  2. vue项目中的遇错:Invalid Host header
  3. 【若依(ruoyi)】Unknown column ‘create_time‘ in ‘order clause‘
  4. 【微信小程序】给绑定事件传参数
  5. @SentinelResource使用
  6. iphonex适配游戏_Cocos Creator 适配怎么做?
  7. 如何保存一个函数_如何表达一个“分段函数”之学习Matlab Function模块
  8. python api接口 安全_App开放接口api安全性的设计与实现
  9. raid卡缓存对硬盘性能_Mac Pro 2019加装2.5英寸机械硬盘方案
  10. struts2文件上传(2)