V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
laodao
V2EX  ›  问与答

问一个静态页面性能问题哦?

  •  
  •   laodao · 2016-03-27 16:56:42 +08:00 · 1772 次点击
    这是一个创建于 3164 天前的主题,其中的信息可能已经有所发展或是发生改变。

    问一个服务器性能问题哦。我现在有一个 html 页面。用 nginx 直接访问性能肯定很好。但是现在这个页面要检测一下 ip 才能访问。所以需要首先用 Node.js 或者 php 检测下 ip ,之后这个后端语言读取 html 页面内容,输出。 nginx , node.js 和 php 在完成这件事的性能差别能有多大。如果一天一百万 ip 的情况下。

    11 条回复    2016-03-27 20:15:43 +08:00
    xia0chun
        1
    xia0chun  
       2016-03-27 17:06:17 +08:00 via iPhone
    为什么不用动态域名?
    bazingaterry
        2
    bazingaterry  
       2016-03-27 17:07:42 +08:00 via iPhone
    单纯检测 ip nginx 也有相应的模块吧?
    046569
        3
    046569  
       2016-03-27 17:12:30 +08:00
    使用 ngx_lua 或 ngx_mruby 来开发.LZ 的需求类似 WAF,如果简单的 IP 屏蔽直接用 ngx_http_access_module 就好了...
    lecher
        4
    lecher  
       2016-03-27 17:32:34 +08:00 via Android
    一百万一天的 PV ,平均下来峰值不超过二十每秒,只要不是非常耗性能的检测,任何语言都可以处理。
    halfcrazy
        5
    halfcrazy  
       2016-03-27 17:41:22 +08:00
    好像看过一个 benchmark , netty 比 openresty 在输出静态页上要快
    laodao
        6
    laodao  
    OP
       2016-03-27 18:16:17 +08:00
    @lecher 差不多一百万 ip 。 pv 可能在一千万。关键是高峰期在晚上。之前晚上高峰期数据库就因为内存挂了。其实没用数据库。但是一到高峰期数据库就给整挂了。
    laodao
        7
    laodao  
    OP
       2016-03-27 18:17:11 +08:00
    @046569 恩恩,目前这种方式也在考虑。主要是不懂得 lua 。要是 nginx 支持 node 了。那就比较好了。
    lecher
        8
    lecher  
       2016-03-27 19:35:44 +08:00 via Android
    单机处理千万 PV 的静态页面,主要看检测 IP 这个算法到底怎么样了。
    如果考虑未来业务攀升的扩展, PHP 应该可以淘汰了,它开辟进程处理业务完成之后销毁变量这套 gc 机制不太适合这种业务。新浪之前用过 PHP 处理业务,也扛得住,就是性能差点服务器费用要高一些。
    同类的业务,用常驻内存的模型 go 、 openresty 的成功案例比较多。都是 qps 万级别的性能。
    如果熟悉 nodejs , nodejs 也是可选方案, nodejs 的性能比 go 差,但是优于 Python tornado 。

    Nginx 有支持 js 的版本:
    https://www.nginx.com/blog/nginscript-why-our-own-javascript-implementation/
    https://www.nginx.com/resources/wiki/nginScript/
    不过这是个实验版本,敢冒险可以试试。
    zlink
        9
    zlink  
       2016-03-27 19:38:34 +08:00 via Android
    @lecher 峰值能算平均的吗?😓
    abelyao
        10
    abelyao  
       2016-03-27 19:56:00 +08:00 via iPhone
    是检测单个 IP ,还是 IP 段,还是多个 IP 还是有区别的吧…
    laodao
        11
    laodao  
    OP
       2016-03-27 20:15:43 +08:00
    @lecher 恩恩,谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   978 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 22:56 · PVG 06:56 · LAX 14:56 · JFK 17:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.