windows 下运行 php 的 web server 方案,怎么搭配性能比较优 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
litt7e
V2EX    PHP

windows 下运行 php 的 web server 方案,怎么搭配性能比较优

  •  2
     
  •   litt7e 2015-04-13 22:47:47 +08:00 5247 次点击
    这是一个创建于 3891 天前的主题,其中的信息可能已经有所发展或是发生改变。

    受限只能在windows用php,nginx就不考虑了,太弱;swoole也没win版本

    我的设想是iis7.5,op缓存有wincache,好在redis/memcache都有win版可用

    另外一个是apache+mod_fpm/mod_fastcgi,win下按理应该是fcgi方式快一些吧

    <>顺便问一下,如果是纯html,用哪个web server最佳?如果以上性能不够,可能会生成纯html的方式,按理应该是iis7.5吧

    30 条回复    2015-04-15 15:50:17 +08:00
    bobopu
        1
    bobopu  
       2015-04-13 23:14:28 +08:00 via iPad
    windows下别的不用考虑,就iis,网上一堆测试文档。
    vinsony
        2
    vinsony  
       2015-04-13 23:35:38 +08:00
    iis7也很快的
    ifconfig
        3
    ifconfig  
       2015-04-14 00:11:21 +08:00
    win下就IIS,没有哪个web server了把?
    fastcgi在win下比较流行,然后其实memcache已经够了,不用太在乎op cache,毕竟访问量真的大起来,楼主不会想用windows搞负载集群方案吧,脑补画面中orz....
    litt7e
        4
    litt7e  
    OP
       2015-04-14 00:41:26 +08:00
    @ifconfig 生产环境apache可选啊,还有个过气的lighthttpd。暂时只能在win server下,所以尽量挖掘单机的性能,iis扩展做集群倒是也不麻烦,只是定制略蛋疼。本来初定的方案就是iis7.5+wincache+redis/memcache,上来问问看有没有更优的细化方案
    babytomas
        5
    babytomas  
       2015-04-14 00:41:58 +08:00
    我觉得吧

    使用 windows 搭建 PHP 的话本来就不应该,就应该使用 linux/unix 的
    litt7e
        6
    litt7e  
    OP
       2015-04-14 00:46:17 +08:00
    @babytomas 这个是合同指定的。不过不大同意你这句,php的win主机其实是最多的,只是绝大多数不在乎性能,没到瓶颈,而我这个刚好访问量有点大,需要调优
    Tianpu
        7
    Tianpu  
       2015-04-14 00:52:36 +08:00
    唯一选择:iis+sapi
    vibbow
        8
    vibbow  
       2015-04-14 00:59:11 +08:00 via Android
    iis + fcgi +php
    性能比同配置下的
    linux nginx fcgi php
    还要好一些

    wincache也是必须得上的
    Admstor
        9
    Admstor  
       2015-04-14 09:33:05 +08:00
    IIS性能并不差,或者说win下因为别的运行方式问题,都不如IIS
    另外PHP5.3开始不再支持isapi方式了,所以基本上都是IIS+fastcgi来运行

    win下纯静态也依旧是IIS,这点和上一点理由一样
    litt7e
        10
    litt7e  
    OP
       2015-04-14 12:03:26 +08:00
    @vibbow 比lnmp好没有吧,同样的硬件下,l系的资源效率更高,之前有win比较过,不过没正式迁移过来,这次动真格了
    litt7e
        11
    litt7e  
    OP
       2015-04-14 12:05:10 +08:00
    @Admstor 嗯,纯脚本的差距可以忽略,准备用5.4和5.6各试一下
    msg7086
        12
    msg7086  
       2015-04-14 13:21:38 +08:00
    @litt7e 考虑到windows那么高的成本,很怀疑你说的「最多」两字。
    如果你用Windows就是IIS,Apache基本就算是Linux家的别多想了。
    (而且Apache本身大负载效率也是个问号)
    hdshen
        13
    hdshen  
       2015-04-14 15:01:21 +08:00
    纯静态HTML 推荐 lighthttpd 和 nginx

    win下 也是可以用 nginx的。。。 没啥问题

    访问量不大 就IIS吧 省事
    vibbow
        14
    vibbow  
       2015-04-14 15:16:41 +08:00 via Android
    @litt7e 动态文件,IIS 7跑PHP要比Nginx略微快一点的。
    jarlyyn
        15
    jarlyyn  
       2015-04-14 16:52:35 +08:00
    丢一个xampp吧,以前是丢zendserver的,不过zendsever没ce版本下载了。

    性能的话,说真的,应该不是重点吧……

    跑apache不就是为了.htaccess支持么。不喜欢配web.config
    vibbow
        16
    vibbow  
       2015-04-14 20:05:29 +08:00
    @jarlyyn 伪静态的话IIS可以直接导入Apache的.htaccess文件......
    xuhaoyangx
        17
    xuhaoyangx  
       2015-04-14 20:26:17 +08:00
    nginx 曾经用过在WIN的机子做过nginx+php和部分反代,稳定性还是不错的
    jarlyyn
        18
    jarlyyn  
       2015-04-14 20:46:46 +08:00
    @vibbow
    当然是有问题的。
    当年跑个drupal 都会有问题……
    vibbow
        19
    vibbow  
       2015-04-14 21:24:27 +08:00
    @jarlyyn 当年是哪年?
    geeklian
        20
    geeklian  
       2015-04-14 21:52:14 +08:00
    http://php.iis.net/

    不管是php还是python之类的,iis都是windows下最佳的部署方式。虽然linux下总有更好的解决方案,但在windows下,iis甩apache win32和nginx win32几条街都不知道....



    参见http://www.iis.net/learn/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis

    相比于其他的开源语言,php在windows下算优化最好的
    内存>4G的情况下,iis7 + fastcgi 可以提供接近linux下nginx + php + fastcgi的性能。

    你要说1G内存的机器比较win32 vs linux...那就是较真了。
    litt7e
        21
    litt7e  
    OP
       2015-04-14 22:39:32 +08:00
    如何保证高并发下的快速响应,可有良策?我是想几个热门通用页面完全缓存(如访客首页,排行页),常用数据集(如配置信息/分类排行)放内存,个性页面文件缓存,命中全失败再去读数据库。静态文件js/css/img/swf单独设cdn路径
    @geeklian @ifconfig @vibbow @Admstor
    vibbow
        22
    vibbow  
       2015-04-14 22:46:37 +08:00
    @litt7e 基本上也就这些东西了
    顺便,Web Farm Framework是个好东西。
    vibbow
        23
    vibbow  
       2015-04-14 22:48:22 +08:00
    @geeklian 我当年16G内存+SSD+i7的情况下测试,IIS fcgi php提供了略微好于 Linux Nginx fcgi php 的性能.....
    vibbow
        24
    vibbow  
       2015-04-14 22:48:58 +08:00
    @geeklian 我个人把这归结于闭源的驱动比开源的驱动性能要好......
    ifconfig
        25
    ifconfig  
       2015-04-14 23:33:26 +08:00
    回楼主,排行系统可以用redis来做,个性页面一般生成了页面缓存,等用户更新资料再生成一次缓存就好了。redis很少出现命中失败吧?做好异常就行了
    litt7e
        26
    litt7e  
    OP
       2015-04-15 00:57:03 +08:00
    @vibbow wff有装,不过我之前的数据是lnmp占优的,同样硬件下,内存使用和IO尤其高效一些
    litt7e
        27
    litt7e  
    OP
       2015-04-15 00:58:25 +08:00
    @ifconfig 还是有很大几率的,容量有上线,一旦高峰期可能会频繁过期,还涉及一个热度频率的问题,估计得上线了再分析再调整。。
    vibbow
        28
    vibbow  
       2015-04-15 01:39:12 +08:00 via Android
    @litt7e 静态文件nginx更快
    但是fcgi性能就不好说了
    jarlyyn
        29
    jarlyyn  
       2015-04-15 15:17:58 +08:00
    @vibbow
    大概是去年,要么是千年。

    主要是当子目录里也有.htaccess的时候,会报错。

    drupal有两个模块自己会在子目录里生成这玩意。

    当然,环境不是我配的,不知道是否能解决这个问题。
    vibbow
        30
    vibbow  
       2015-04-15 15:50:17 +08:00 via Android
    @jarlyyn 那是因为用了第三方的htaccess软件。
    微软自己也出了一套的,不是直接使用htaccess,而是
    有工具可以转换成web.config
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1226 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 50ms UTC 16:59 PVG 00:59 LAX 08:59 JFK 11:59
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86