zoukankan      html  css  js  c++  java
  • [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);
        });
    }

    //--------------------------------------------------------

  • 相关阅读:
    POJ-3274 Gold Balanced Lineup---hash经典题!
    POJ-2481 Cows---树状数组的运用
    POJ-1195 Mobile phones---裸的二维树状数组(注意下标从1,1开始)
    hdu-2609 How many---最小表示法模板+set判重
    POJ-1509 Glass Beads---最小表示法模板
    POJ-3349 Snowflake Snow Snowflakes---最小表示法
    最小表示法
    POJ-2352 && hdu-1541 Stars---树状数组的运用
    BZOJ2163: 复杂的大门
    BZOJ2157: 旅游
  • 原文地址:https://www.cnblogs.com/piaoger/p/3247160.html
Copyright © 2011-2022 走看看