linux可以精简内核和服务,所以留给php的资源相对较多,在1c1g配置下,php可以利用相对windows更多的资源,但是在双路几十核几百g内存下只跑php且配置参数和加载模块一样的情况下几乎没有差别,微软对于php也是投了钱的,所以平台不是制约性能的关键,而是在于运维人员有没有合理优化和配置。
要看就看有流量规模的网站,那些小网站用什么都差不多,没什么参考价值.2016年10月份统计,在排名前一百万最繁忙的站点中:Apache为42.40%,同比下降-0.13Nginx为27.80%,同比增长0.20IIS为10.74%,同比下降-0.14
同一台机器,Linux上的PHP性能要比Windows高,这点是可以肯定的.看PHP7核心开发者鸟哥的文章,很多优化都是现为Linux提供的,比如:1.使用GCC4.8及更新版本编译PHP7时才能开启”Global Register for opline and execute_data”支持,在WordPress测试中,能带来5%的性能提升.2.GCC通过PGO(编译器学习)编译为特定PHP应用优化的PHP版本.3.在Linux中开启HugePages,然后开启Opcache的huge_code_pages.启用HugePages后能稳定在WordPress上看到2%~3%的QPS提升.sudo sysctl vm.nr_hugepages=128opcache.huge_code_pages=1
而且Linux上可以使用PHP-FPM跟Nginx配合实现动静分离/负载均衡/故障恢复,而Windows上没有PHP-FPM,还有Windows版Nginx也只是建议用于开发测试.像Facebook自己搞的HHVM,只支持Linux系统,大概就能看出个端倪来了.PHP-FPM也比较利于用持久连接实现一一对应的数据库连接池:
通俗简洁的说明一下。
单讲性能毫无意义,你以为不用Windows是考虑性能?重点在于稳定性。
通常PHP会有多个进程来处理请求。
Linux一个php-fpm进程挂了,不影响其他作业。
Windows挂了你试试,分分钟让你知道服务器宕机是如此的容易
!
目前没有任何证据证明PHP在获得同等资源情况下,linux平台会运行的更快(响应延迟更低、支持的并发更高)!
但通常情况下,因为linux可以基于需要安装组件(甚至连IDE都可以不要),因此默认服务占用的资源更少,在同等配置的情况下,可分配给应用程序的资源自然更多!
因此可以得出以下结论,在合理配置情况下,同等硬件资源的条件下PHP运行在linux上相对于windows上可以提供更为优秀的性能。