[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
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);
});
}
//--------------------------------------------------------
[Idea Fragments]2013.08.08的更多相关文章
- Heartbeat took longer than "00:00:01" at "09/06/2019 05:08:08 +00:00".
.netcore在k8s+docker+linux,部署后,偶尔会报这样的警告 Warn:Microsoft.AspNetCore.Server.KestrelHeartbeat took longe ...
- mac 系统通用快捷键(mac 下的应用多数会往这些标准看齐)(转:http://yang3wei.github.io/blog/2013/02/08/chen-ni-yu-mac-chen-ni-yu-xcode/)
command + w: 关闭当前窗口 command + q: 退出程序 (Google Chrome 有点奇葩,按下之后还需要hold 那么一小会儿才能退出) command + m: 最小化当前 ...
- 2017.08.08【NOIP提高组】模拟赛B组
Summary 今天的题目也不算很难,唯一一道没做出来的题目是以前做过的,太不应该了. Problem T1 油滴扩展 题目大意 给你一堆点,你准备要在这么多的点当中滴油.你可以自己安排顺序,每次滴油 ...
- ZROI 19.08.08模拟赛
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. 首先恭喜swk今天翻车! "小心大样例演你."--天祺鸽鸽 果然swk今天被大样例演死了,天祺鸽鸽诚不欺我! A ...
- 〖Linux〗(2013.08.02)使用ctag+cscope查看Android源代码
1. 安装ctags和cscope sudo apt-get install -y exuberant-ctags cscope 2. vimrc中的配置 """&quo ...
- JavaSE学习总结第08天_面向对象3
08.01 工具类中使用静态 例: class ArrayTool { //将构造方法私有,外界不能创建该类的对象 private ArrayTool(){} //遍历数组 public stat ...
- [Erlang 0114] Erlang Resources 小站 2013年7月~12月资讯合集
Erlang Resources 小站 2013年7月~12月资讯合集,方便检索. 附 2013上半年盘点: Erlang Resources 小站 2013年1月~6月资讯合集 小站地 ...
- IIS Community Newsletter June 2013
Announcements Windows 2012 Server R2 preview released Windows Server 2012 R2 provides a wide range o ...
- [Erlang 0105] Erlang Resources 小站 2013年1月~6月资讯合集
很多事情要做,一件一件来; Erlang Resources 小站 2013年1月~6月资讯合集,方便检索. 小站地址: http://site.douban.com/204209/ ...
随机推荐
- ZT:没有谁的成功是横空出世
这世上,没有谁的成功是横空出世. 你看到的胸有成竹,是别人犯过错后的顿悟: 你看到的举重若轻,是别人跌过跤后的自省: 你看到的闪亮光环,是一个人咬牙走了很久的夜路,才为自己点亮的一盏灯. 你以为自己输 ...
- JavaScript的String对象
1.创建String对象 Html标签的格式编排方法:可以将String对象的字符串内容输出成对应的html标签. 示例: var str = "JavaScript程序设计"; ...
- VS提示无法连接到已配置的开发web服务器的解决方法
VS2013每次启动项目调试好好的,今天出现了提示“提示无法连接到已配置的开发web服务器“,使用环境是本地IISExpress,操作系统为windows10,之前也出现过就是重启电脑又好了,这次是刚 ...
- css网页单位
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 演示程序之打游戏 -- 慕司板IAP15
上位机和协议制定我的大学舍友(他的微博:http://weibo.com/lesshst? topnav=1&wvr=5&topsug=1)毕业前百忙之中使用Python花了一个下午完 ...
- Unity3D调用摄像头显示当前拍摄画面
原地址:http://blog.csdn.net/awnuxcvbn/article/details/18621265 using UnityEngine; using System.Collecti ...
- 算法笔记_081:蓝桥杯练习 算法提高 矩阵乘法(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 有n个矩阵,大小分别为a0*a1, a1*a2, a2*a3, ..., a[n-1]*a[n],现要将它们依次相乘,只能使用结合率,求最 ...
- JavaWeb 获取ip地址
JavaWeb 获取ip地址 CreateTime--2018年5月31日17点56分 Author:Marydon import java.net.InetAddress; import jav ...
- 【Datastage】导出的dsx文件如何统计导出作业个数
我们在日常使用ds时候,会将很多ds打包导出,例如:有100个作业,现在我们打包导出,但是导出之后如何确认我们是否已经完全导出,会不会在导出的时候漏了一个作业呢? 不用怕! 我们使用编辑打开导出的ds ...
- MongoDB 操作手冊CRUD 删除 remove
删除记录 概述 在MongoDB中,db.collection.remove()方法用于删除集合中的记录.能够删除全部记录,删除全部符合条件的记录.或者是仅删除一条记录. 删除全部记录 删除一个集合中 ...