免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6482 | 回复: 10
打印 上一主题 下一主题

PSGI/Plack系列汇总 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-06-30 17:32 |只看该作者 |倒序浏览
转载本站文章请注明,转载自:扶凯[http://www.php-oa.com]
本文链接: http://www.php-oa.com/2011/06/30/psgi.html
好不容易这 24 个文章翻译完了。。。真是太不容易了。象我这种不知几流的英文水平,希望不要因为译的烂骂我(真不明白可以看原文,每个文章后面都有)..我只是希望这个,希望能分享好东西让大家知道。 PSGI 的性能,还有一些思想真的能改变我们以前写这种程序的想法。大家有什么想法看法,可以在下面留言部分写出来.
   [Perl] 介绍和安装Plack – PSGI/Plack系列
   [Perl]使用 PSGI 来打印 Hello World– PSGI/Plack系列
   [Perl]使用 plackup – PSGI/Plack系列
   [Perl]使用 plackup 重新加载应用 – PSGI/Plack系列
   [Perl]让 Plack 做为一个静态 Web 服务器 – PSGI/Plack系列
   [Perl] 转换你的 CGI 的应用到 PSGI – PSGI/Plack系列
   [Perl]在 PSGI 中使用 Web 框架– PSGI/Plack系列
   [Perl]在 PSGI 上适配 Web 框架– PSGI/Plack系列
   [Perl]使用 Plack 运行 CGI 的脚本– PSGI/Plack系列
   [Perl]使用 Plack 的中间件 – PSGI/Plack系列
   [Perl] Plack::Builder 的使用 – PSGI/Plack系列
   [Perl]使用 mount 和 URLMap 来映射多个 apps – PSGI/Plack系列
   [Perl]使用 Plack::Tes 来测试你的应用– PSGI/Plack系列
   [Perl]怎么样使用 Plack::Request – PSGI/Plack系列
   [Perl]通过中间件来实现应用的认证– PSGI/Plack系列
   [Perl]在你的应用中添加 JSONP 的支持– PSGI/Plack系列
   [Perl]应用中的静态文件 – PSGI/Plack系列
   [Perl]根据条件来加载中间件– PSGI/Plack系列
   [Perl]级联多个应用– PSGI/Plack系列
   [Perl]从外网来访问你的本地的应用– PSGI/Plack系列
   [Perl]错误处理– PSGI/Plack系列
   [Perl]挖掘更多的中间件– PSGI/Plack系列
   [Perl]写自己的中间件– PSGI/Plack系列
   [Perl]结束语– PSGI/Plack系列

论坛徽章:
0
2 [报告]
发表于 2011-06-30 21:53 |只看该作者
NB

论坛徽章:
0
3 [报告]
发表于 2011-06-30 21:59 |只看该作者
但是我怀疑他真的有那么快么...

在使用 PSGI/Plack 来实现了一个实现下载验证,实时防火墙,用户下载跟踪等等功能的应用(根据他们的经验,实际上性能还是很高效的,部署于Starman,对比PHP的实现,是后者(PHP-FPM)的10倍左右)。根据一些资料,standalone 的模型就能达到 5000 QPS ,使用 prefork 时可以达到 15000 QPS.


快的理论是什么?

论坛徽章:
0
4 [报告]
发表于 2011-07-01 07:43 |只看该作者
瞻仰!介于NA与NC之间

论坛徽章:
0
5 [报告]
发表于 2011-07-01 09:49 |只看该作者
支持,感谢分享

论坛徽章:
1
辰龙
日期:2014-05-15 19:37:15
6 [报告]
发表于 2011-07-01 10:49 |只看该作者
但是我怀疑他真的有那么快么...



快的理论是什么?
tmp 发表于 2011-06-30 21:59


引用来源:

http://nightsailer.com/2010/12/16/827.html
http://bbs.chinaunix.net/thread-3557405-1-1.html

论坛徽章:
0
7 [报告]
发表于 2011-07-01 15:06 |只看该作者
首先说明我不会php, 只是有点大致的了解,
但是:
starman是基于prefork的, php-fpm呢? 也是吧,


另外, psgi这样一层层的包, 转发, 最后还是要走进原来的那些老的协议(cgi/fcgi/modperl/http/...)
那么这中间会没有性能损失?

event based web程序我还没研究过, 不知道有没有什么缺点, 先不说,

有空儿我对比一下吧.

论坛徽章:
1
辰龙
日期:2014-05-15 19:37:15
8 [报告]
发表于 2011-07-01 22:40 |只看该作者
本帖最后由 iakuf 于 2011-07-01 22:50 编辑

原来是通过
http -> web 服务器 -> Perl 动态执行
PSGI 相当于
http -> Perl 动态执行

PSGI 本身的包装非常简单,就一个数组。。。使用 PSGI 的重点不在性能,在通用性和这个的思想上。。。
日本的 Perl 界非常多的新的思想和好的开源的东西,希望大家也能接受和有新的见解和点子

论坛徽章:
1
辰龙
日期:2014-05-15 19:37:15
9 [报告]
发表于 2011-07-01 22:48 |只看该作者
從古早的 CGI 到目前常見的 FastCGI,然後 Python 有自己的 WSGI,Perl 也有自己的 PSGI,可惜 PHP 到目前為止還沒有自己的 CGI 架構。而專屬的 Gateway Interface (GI),如 WSGI 與 PSGI 具有很多優點,例如 PSGI 的設計讓 Perl 的效能提升不少 [註1]。
目前 PHP 仍建議用一個額外的介面來運作網頁服務,例如網頁伺服器,如 IIS 或 Apache。也因為中間的處理流程經過 IIS 或 Apache 的複雜處理後,再交由 PHP 處理,處理完後,又傳回 IIS 或 Apache,最後才回到瀏覽器上。這些中間經過的手續都是需要耗費的,因此也難達到 WSGI 或 PSGI 的效能。但回過頭來想,WSGI 及 PSGI 也失去了 IIS 或 Apache 的功能及擴充性。

其實效能有多好,不是本篇文章要去探討的,因為若只談效能,不管是 WSGI / PSGI 也都贏不過 Netty (Java)



......................



人生也不過比當歸長一點,尊重別人的選擇,給予建設性的建議,會是個比較好的作法,況且每個語言有其獨特的特性,也有適合它們的應用領域。例如,在文字處理上,我個人偏好使用 Perl。

就如 c9s 在這篇談到的,主要是分享技術見解,佐以效能數據供參考。在這篇文章中,讓我了解 PSGI 的優點與特色,但讀者若僅就 “效能” 一點上著墨,非屬必要。c9s 也說了,該篇文章的重點不在效能。


引用来源:
http://antbsd.twbbs.org/~ant/wordpress/?p=3601
http://antbsd.twbbs.org/~ant/wordpress/?p=3619

论坛徽章:
0
10 [报告]
发表于 2011-07-02 15:30 |只看该作者
谢谢你的热心解释, 但是这句我还不能很好的理解:
原来是通过
http -> web 服务器 -> Perl 动态执行
PSGI 相当于
http -> Perl 动态执行



如果这里的http是代表用户浏览的话, 那么就是说psgi代替http server了?
这当然可以, 他也可以处理静态/动态的内容,
但是实际上大多数是这样实施的么???

大多还是:
http -> httpd server -> cgi/fcgi/modperl/http -> psgi -> 程序

而从前是:
http -> httpd server -> cgi/fcgi/modperl/http -> 程序

也有甚者是http -> httpserver_1 -> httpserver_2 ->modperl -> 程序

但psgi的好处是省心.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP