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

2016-03-27 16:56:42 +08:00
 laodao

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

1769 次点击
所在节点    问与答
11 条回复
xia0chun
2016-03-27 17:06:17 +08:00
为什么不用动态域名?
bazingaterry
2016-03-27 17:07:42 +08:00
单纯检测 ip nginx 也有相应的模块吧?
046569
2016-03-27 17:12:30 +08:00
使用 ngx_lua 或 ngx_mruby 来开发.LZ 的需求类似 WAF,如果简单的 IP 屏蔽直接用 ngx_http_access_module 就好了...
lecher
2016-03-27 17:32:34 +08:00
一百万一天的 PV ,平均下来峰值不超过二十每秒,只要不是非常耗性能的检测,任何语言都可以处理。
halfcrazy
2016-03-27 17:41:22 +08:00
好像看过一个 benchmark , netty 比 openresty 在输出静态页上要快
laodao
2016-03-27 18:16:17 +08:00
@lecher 差不多一百万 ip 。 pv 可能在一千万。关键是高峰期在晚上。之前晚上高峰期数据库就因为内存挂了。其实没用数据库。但是一到高峰期数据库就给整挂了。
laodao
2016-03-27 18:17:11 +08:00
@046569 恩恩,目前这种方式也在考虑。主要是不懂得 lua 。要是 nginx 支持 node 了。那就比较好了。
lecher
2016-03-27 19:35:44 +08:00
单机处理千万 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
2016-03-27 19:38:34 +08:00
@lecher 峰值能算平均的吗?😓
abelyao
2016-03-27 19:56:00 +08:00
是检测单个 IP ,还是 IP 段,还是多个 IP 还是有区别的吧…
laodao
2016-03-27 20:15:43 +08:00
@lecher 恩恩,谢谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/266658

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX