V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
linpf
V2EX  ›  PHP

IIS2008+IIS7.X+PHP 的效率到底好不好?

  •  
  •   linpf · 2015-04-21 09:40:34 +08:00 · 9977 次点击
    这是一个创建于 3501 天前的主题,其中的信息可能已经有所发展或是发生改变。
    网上现在很多人都说,win2008以上系统下,IIS7.X运行php效率可以媲美LAMP了。

    真假?
    69 条回复    2015-04-22 22:44:01 +08:00
    KexyBiscuit
        1
    KexyBiscuit  
       2015-04-21 09:43:46 +08:00 via Android   ❤️ 1
    是 LAMP 太差吧,和 LNMP 能比?
    linpf
        2
    linpf  
    OP
       2015-04-21 09:46:50 +08:00
    @KexyBiscuit 目前这算是知识盲区。求科普。
    KexyBiscuit
        3
    KexyBiscuit  
       2015-04-21 09:48:22 +08:00 via Android
    @linpf Windows 下认真跑 .Net 吧,PHP 网站建议上 LNMP,nginx 替代 Apache。
    kiritoalex
        4
    kiritoalex  
       2015-04-21 09:49:59 +08:00 via Android
    不好
    zado
        5
    zado  
       2015-04-21 09:51:44 +08:00
    我有个服务器就是2008+IIS+php,不过没什么人访问,自己测试感觉很快,瓶颈都在网络带宽和数据库上.
    fliar
        6
    fliar  
       2015-04-21 09:52:47 +08:00
    大概學校不教nginx redis之類的:)
    johnsmith123
        7
    johnsmith123  
       2015-04-21 10:00:37 +08:00
    python的效率可以媲美C,php是世界上最好的语言,Windows不比Linux差,Linux上也能跑.net,还有什么梗?求补充。
    learnshare
        8
    learnshare  
       2015-04-21 10:02:15 +08:00
    Windows 服务器,能不用就不用
    yakczh
        9
    yakczh  
       2015-04-21 10:03:13 +08:00
    这个要两台同样的硬件的电脑一台装windows 一台装llnux 然后客户端测试一下才知道
    linpf
        10
    linpf  
    OP
       2015-04-21 10:05:44 +08:00
    @KexyBiscuit 对小白来说,win确实管理起来比linux方便。所以如果性能相差不大的话,还是更倾向于win
    @fliar php都不教
    @zado 一个1G内存,10M带宽,普通机械硬盘的服务器,mysql数据库+php,win+IIS、linux+Apache、linux+Nginx 分别大致能支持多少人访问? 假设是个普通的CMS
    zado
        11
    zado  
       2015-04-21 10:37:37 +08:00
    @linpf 我不知道.linux我没有用过,用Windows的话内存可能太小了.除非数据库不自己做,用云端数据库.10M带宽的我也没用过,能支持多少人访问也取决于很多因素,普通的CMS我猜100个人是没有问题的.
    fliar
        12
    fliar  
       2015-04-21 10:38:49 +08:00
    思考這樣一個問題,win2008是要錢的,linux是不要錢的,要錢的性能就算不輸免費的
    那麼就變成開著法拉利跟走路的人說,我比你快:)
    hjc4869
        13
    hjc4869  
       2015-04-21 10:42:34 +08:00
    @johnsmith123 Windows确实不比Linux差,Linux确实能跑.NET,这不算梗了……
    hjc4869
        14
    hjc4869  
       2015-04-21 10:43:07 +08:00
    @fliar 说Linux不要钱的都是耍流氓。
    VYSE
        15
    VYSE  
       2015-04-21 10:47:17 +08:00 via Android
    要知道IIS核心是跑在系统内核里的。。。。
    bulldozer
        16
    bulldozer  
       2015-04-21 10:52:15 +08:00
    IIS在公网web server中市场份额是32%(2014年)。这是windows,sql server....license费用相对比较高的情况下的数据。

    所以关于windows性能和安全性,就不要多讨论的。还是谈钱吧。
    linpf
        17
    linpf  
    OP
       2015-04-21 10:55:03 +08:00
    nginx做php动态网站性能,比apache怎么样? 网上说nginx访问静态资源是apache的3倍,但是访问动态资源就是鸡肋。
    hjc4869
        18
    hjc4869  
       2015-04-21 10:56:29 +08:00
    @VYSE 所以上次那个漏洞可以直接让系统蓝屏
    hitsmaxft
        19
    hitsmaxft  
       2015-04-21 10:56:58 +08:00
    记得 iis 的性能还是不错的, apache 在 windows 的表现不行。

    无论 nginx 还是 apache 尽量都用 linux 环境运行.

    其他都是扯淡
    hjc4869
        20
    hjc4869  
       2015-04-21 10:58:51 +08:00
    @KexyBiscuit 哦对了忘记说,Nginx跑动态,性能真的不敢恭维,老老实实LAMP……
    mongodb
        21
    mongodb  
       2015-04-21 11:05:13 +08:00
    IIS配PHP绝对没问题,绝对绝对。
    但别在Win上跑Nginx和Apache。
    knightlhs
        22
    knightlhs  
       2015-04-21 11:12:34 +08:00
    大内存 小并发 有钱人 选啥无伤大雅
    小内存 大并发 缺现金 那还是 老老实实的 LNMP 或者 LANMP
    1G 内存 都分给 windows 我都嫌少
    并发数并不能完全受 IIS 控制
    带宽的负载要看你平均请求的文档大小 比如首页的大小为 1M 那么你可以自己计算并发承载
    还有别忘了 带宽单位是 Mbps
    nine
        23
    nine  
       2015-04-21 11:30:51 +08:00   ❤️ 3
    2009年的时候,公司有台服务器是正版Windows 2008,原来管理员配置的是Apache,我接手后发现老有响应很慢的问题。
    跑的东西很少,一个discuz论坛,每天ip100左右,一个帝国CMS,纯静态的你懂的。

    那年IIS7宣称跑PHP fastCGI很吊,于是我给切成fastCGI了。
    速度绝逼比原先Windows下的Apache快。

    但是运维上一旦发生一点小bug,就要折腾很久,中文urlencode问题当时愁死我了,最后打了个beta版的windows补丁给搞定了。
    然后rewrite的问题,基于pathinfo的php框架的问题。
    还有IIS进程和fastCGI进程如何配置和通讯的问题。
    我起了20个fastCGI进程,然后做压力测试。那么IIS只会把请求分配给一个fastCGI进程上。找到配置文件,但不知道如何配置,怎么改都不行。

    然后所有的新技术你只能看着,因为windows版不是没有就是不稳定。

    然后就切到了大火特火的LNMP了,于是,之前300ms加载的页面现在只要几十ms就加载好了。

    然后,然后就没有然后了,从此就再没有用过windows。
    xiaozhizhu1997
        24
    xiaozhizhu1997  
       2015-04-21 11:36:56 +08:00 via Android
    我的博客是IIS8.5,WS12R2…
    开了gzip也没用,发现加载页面之前要等好几秒(不是解析时间,我指定了hosts也这样)
    17ce直接输入HTTPS链接(我开了HSTS)也不是返回200…还是301,很奇怪
    davidyin
        25
    davidyin  
       2015-04-21 11:46:01 +08:00
    hjc4869
        26
    hjc4869  
       2015-04-21 11:53:58 +08:00
    @xiaozhizhu1997 17ce测nginx的https也是返回301,它不支持https……
    xiaozhizhu1997
        27
    xiaozhizhu1997  
       2015-04-21 11:55:55 +08:00 via Android
    @hjc4869 我以为是IIS的锅。。
    但是加载自己的站刚开始3秒左右都是空白…然后一下就好了。
    不是线路问题。。。。
    xenme
        28
    xenme  
       2015-04-21 12:06:04 +08:00
    一堆人杞人忧天。
    你的网站真的到系统或者软件的瓶颈了么?
    到了之后,各个平台都有优化和解决的办法,各个平台有自己的瓶颈。
    吵来吵去,没啥意义。
    hjc4869
        29
    hjc4869  
       2015-04-21 12:12:24 +08:00
    @xiaozhizhu1997 静态资源的问题?大部分网站的问题都跟web服务器无关的。。
    Havee
        30
    Havee  
       2015-04-21 12:19:04 +08:00
    @xenme 咋能没意义,很多vps都是小内存的......
    租机柜的壕还是比较少的
    xenme
        31
    xenme  
       2015-04-21 12:40:14 +08:00
    @Havee 小内存一般都直接不提供Windows系统(512M以内的好像都没Windows)
    而且,Windows还有授权费用,肯定比Linux贵。
    bobopu
        32
    bobopu  
       2015-04-21 12:55:30 +08:00 via iPhone
    @nine 既然是正版,就要体现出正版的价值,给微软技术支持打电话,不然钱白花了。
    Havee
        33
    Havee  
       2015-04-21 13:23:39 +08:00
    @xenme 那1G的呢....就有很多windows 的 vps 了吧,就算2GB,这些都不是问题
    要点在于谁愿意真金白银的服务器,系统开销过大呢...当然,壕例外
    simapple
        34
    simapple  
       2015-04-21 13:50:51 +08:00
    看从哪个维度来 仅看php+iis7的执行效率,相当不错
    xenme
        35
    xenme  
       2015-04-21 14:00:24 +08:00
    @Havee Server Core版本内存消耗也足够低,只是目前市场上VPS一般都是提供的GUI版本而已,所以开销才会大。这个只是选择平台等等的问题。

    我只是想说,单单比较IIS以及LN没啥意义而已。
    如果非要说,Windows开销大,费用高,选择Linux,这就已经决定了你必须用LNMP,即使IIS性能再牛B,你也没法选择IIS而已。

    所以,抛开其他的,单来比较IIS/LN的性能,没有太大必要。你可能还没用到他们的瓶颈呢。
    inter
        36
    inter  
       2015-04-21 14:07:05 +08:00
    iis现在是最快的,完爆apache,nginx http://www.webperformance.com/load-testing/blog/2011/11/what-is-the-fastest-webserver/

    php这个得测
    Admstor
        37
    Admstor  
       2015-04-21 14:36:01 +08:00
    其实,2个同配置机器,一样的代码跑一下就是咯...
    nine
        38
    nine  
       2015-04-21 14:49:19 +08:00
    @bobopu 问题太多了,如果他说收费给解决,你猜老板会不会掏钱?我是不想猜。
    正版Windows key其实很便宜的,但技术支持的无底洞,估计谁也扛不住。

    linux上的问题,网上搜一搜就解决了,性能还高那么多,何苦呢,而且很多开源方案,还是要上linux,直接切过去就好了。
    geeklian
        39
    geeklian  
       2015-04-21 15:01:00 +08:00 via iPhone   ❤️ 1
    我们生产环境就是windows server+php,一台gui,4台core吧……都是虚拟机
    选择windows的原因首要原因是为了集成windows用户认证,实现域用户免密码直接登录,这个目前除了iis,其他办不到,是硬需求。

    性能楼上也给出干货了,实际上core系统的资源占用非常小,虽然肯定不如linux,但系统本身也就400m,没有exploer需要打得补丁少了一半。

    windows的优势还是省运维成本,日常管理直接用win7+mmc控制台就行了,大专水平培训两个星期都能上岗。

    lic成本这东西,对于很多非it企业来说,不是啥大事,一个192G/384G内存的服务器,一般都会开几十个VM,一个DC的授权分摊下去...其实也没多少。redhat很多情况比winsvr还贵呢。
    Daddy
        40
    Daddy  
       2015-04-21 15:45:26 +08:00
    @xenme 512内存VPS可以跑win2003的。25美刀一年而已
    jarlyyn
        41
    jarlyyn  
       2015-04-21 15:47:32 +08:00
    @geeklian

    win server对管理员的要求比linux server 高多了吧?

    反正winserver 我是不太敢碰的。
    neilwong
        42
    neilwong  
       2015-04-21 15:51:42 +08:00
    lnmp&lamp 先在份额应该在95%以上吧,真不知道为什么楼主要用IIS,那个东西我就大学时代折腾过~
    geeklian
        43
    geeklian  
       2015-04-21 16:52:46 +08:00 via iPhone   ❤️ 2
    @jarlyyn windows简单多了,有时候你觉得麻烦只是因为点的鼠标稍微多点,不如命令快..但当你有些奇奇怪怪的问题时,就发现windows的简单了……
    比如你对比下动态磁盘的维护和lvm的维护啥的...
    当你想把一个新硬盘拿来扩充一个现有的mbr分区磁盘的非末尾分区空间时....
    lvm熟练工还在检查自己的配置,不熟练的还在Google,中低水平的普通windows运维已经2分钟操作完了。
    vibbow
        44
    vibbow  
       2015-04-21 17:14:37 +08:00
    纯 Web Server + PHP 性能的话,个人测试的结果是:
    Linux/Apache/PHP > Windows/IIS/PHP > Linux/Nginx/PHP
    lbp0200
        45
    lbp0200  
       2015-04-21 18:11:12 +08:00
    没问题,放心使用
    shiny
        46
    shiny  
       2015-04-21 18:15:13 +08:00
    楼主是缺金币了嘛?这个难道不首先应该考虑维护者最熟悉哪个系统嘛?人的工作效率比运行效率重要多了,如果你还停留在考虑 windows server的阶段。
    jarlyyn
        47
    jarlyyn  
       2015-04-21 18:55:11 +08:00
    @geeklian

    比如查看日志?
    比如检查端口占用?
    比如排查日志?
    比如权限设置?
    比如你要详细配置加的新硬盘参数?

    打闷包算什么运维,到时候哪里出问题都不知道…………

    windows运维好歹组策略,AD,注册表要玩的妥妥的吧?
    justff
        48
    justff  
       2015-04-21 18:59:32 +08:00
    所有的回复者 都是没有实战过的,在扯淡的!!
    我看不下去这群强行装逼的人了
    hjc4869
        49
    hjc4869  
       2015-04-21 19:03:16 +08:00
    @justff 那就别上V2EX,或者别打开这个帖子
    kn007
        50
    kn007  
       2015-04-21 19:04:00 +08:00
    我这边一个大学,上个星期去他们机房,他们很多web的win服务器都在切换到centos,做lnmp,233333.
    早就该这么做了。不过可惜的是教导处和科研处的那几台,没打算换了。。。前者好多学生选课啊。。。后者就跑个tomcat。。。
    kn007
        51
    kn007  
       2015-04-21 19:07:33 +08:00
    @geeklian 图形化傻瓜化确实是一大优势
    twl007
        52
    twl007  
       2015-04-21 19:15:55 +08:00 via iPhone
    IIS自从7重构之后 基本就是完全不同的东西了 说实话一点都不比linux弱 php性能基本持平 只要你不去弄诡异的wamp 完全不会比linux差 就是配置方面自己多操心一下咯
    linpf
        53
    linpf  
    OP
       2015-04-21 22:52:07 +08:00
    @shiny 对于新手来说,win的管理远远比linux简单的多的多的多。
    shiny
        54
    shiny  
       2015-04-21 22:55:46 +08:00   ❤️ 1
    @linpf 一开始我也觉得 windows 简单,但是工作几年维护下来发现还是 linux 更容易点。
    linpf
        55
    linpf  
    OP
       2015-04-21 23:07:15 +08:00
    @shiny 是的,但那是在工作几年之后
    ryd994
        56
    ryd994  
       2015-04-21 23:16:41 +08:00 via Android
    @inter 呵呵,上c10k啊
    配置都不贴……
    没config说个JB
    inter
        57
    inter  
       2015-04-22 10:45:55 +08:00
    @nine 性能高那么多?这是你以为。配置足够的话,主流系统中综合表现最差的就是linux,win/soloris都比他强多了,不信你自己测测。连个稳定可靠的文件系统都没有的操作系统,谈神马性能啊
    inter
        58
    inter  
       2015-04-22 10:48:37 +08:00
    @neilwong 国内市场是iis主流,阿里云公开发布的
    inter
        59
    inter  
       2015-04-22 10:54:31 +08:00
    @ryd994 那个里面有简单说啊,你没看?
    The test machine was a modern quad-core workstation running CentOS 6.0. For the IIS tests I booted the same machine off of a different hard drive running Windows Server 2008 SP2.

    c10k?语境不搭的,你知道怎么做c10k了,你就知道跟这个讨论没有关系
    inter
        60
    inter  
       2015-04-22 10:55:21 +08:00
    @shiny 是的,windows上手容易精通难,linux上手难,后面就没了
    nine
        61
    nine  
       2015-04-22 11:09:05 +08:00 via iPhone
    @inter 点错了,点成感谢了。不是linux和windows本身的问题。我之前呆过一家公司,他们视频主播系统就是windows c#。但是跑PHP的话还是Linux Nginx更适合一些
    jarlyyn
        62
    jarlyyn  
       2015-04-22 11:14:06 +08:00
    @inter

    国内?

    阿里云上一堆win服务器里还开着360呢,还见过vs,迅雷什么的呢。

    不用阿里云说,我自己就接触过很多。
    jarlyyn
        63
    jarlyyn  
       2015-04-22 11:24:00 +08:00
    @inter

    直接yum install virtual-min,真心会难么……
    inter
        64
    inter  
       2015-04-22 12:02:15 +08:00
    @nine 具体到某个程序,倒是性能可能低。c#主要是为了满足不同的需求,搞得有些大,目标是瞄的java的,我怀疑他的设计目标之一是比java快。所以很多时候不如纯文本的php的快,实现的功能不一样,瞄的市场不一样。

    所以如果是512m内存,真心建议上lamp,这个配置跑win太吃力了。而且nginx和php配不好会出问题,所以建议apache

    如果内存够,就像上面说的,哪个都行,一般用户很少能摸到低。windows的运维人工成本是比较低的但是有授权费用,linux坑比较多但是本身便宜。
    nine
        65
    nine  
       2015-04-22 12:54:55 +08:00
    @inter nginx php配合不好会出问题?什么问题哦?
    用什么都是一样的,不会肯定玩不转,会了就没问题的。
    linux阵营文档多,Windows不行

    另外关于内存问题,如果我没记错的话,那台服务器是Dell的4G 8核。
    我说过了 IIS7 + fastCGI的php 不算慢,但是和LNMP比妥妥被秒杀

    最重要的是有很多问题你不知道运行机制,比如做压力测试所有响应全打了在一个进程上,其他进程都是摆设,这种问题你问谁去。
    毕竟php又不是微软家的,微软家不可能提供完善的服务,PHP家一样
    inter
        66
    inter  
       2015-04-22 14:06:15 +08:00
    @nine 和微软比文档?it有能比过的么?我敢肯定你用的搜索引擎100%是百度。新手没事多用过google,多看看stackoverflow,新手问题都会得到解答。
    还想和微软比服务?你没有开过ticket就别乱猜了,微软沾边的他都管,只要你ticket掏钱。xen的我都见到他管过

    iis性能好于a和n,我上面给数据了。
    php在win平台下远差于lin的?我不相信php开发这么弱。请给数据,不要用linux的信仰说话。
    inter
        67
    inter  
       2015-04-22 14:15:09 +08:00
    非得给翻点nginx和php的黑历史出来:之前nginx配置示例里面那个php执行漏洞可是有一大堆中招的,而且有传言csdn密码泄露的就是因为当时换掉ms架构,被人用这个漏洞入侵的,然后发现硬盘上之前的数据库文件
    如果想nginx php配的干净,php fastcgi的问题,第一次配置肯定会遇到
    nine
        68
    nine  
       2015-04-22 16:50:31 +08:00
    @inter
    你说的上传图片的fastCGI漏洞也和nginx本身无关。
    另外不知道你是如何确定我是新手?如何肯定我用的搜索引擎是100%百度的?神奇啊。

    不信就不信咯,谁要你信了?
    ryd994
        69
    ryd994  
       2015-04-22 22:44:01 +08:00 via Android
    @inter 我说的是配置文件,Nginx碰上错误的配置,就别提性能了。单纯说个centos……你要给我来个worker 1不开sendfile,说不定Apache都比不过。还有fcgi用的是端口还是sock文件,这些区别都很大。
    c10k对http服务器也算是经典testcase了吧……

    要翻黑历史我建议你省省,Windows的黑历史还少了?翻下去没完的

    微软家的API文档确实是我见过最好的,可惜文档再好比不过源码,有很多问题,不知道实际上如何实现的就很难优化。10分钟看个源码和等一天发个ticket。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5379 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 99ms · UTC 07:40 · PVG 15:40 · LAX 23:40 · JFK 02:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.