为什么会 wanmp 比 lnmp 慢了十倍呢?

2018-01-20 14:50:47 +08:00
 90safe

以前做项目习惯用 lnmp,前些天老板说要 win 系统才行,那我就用了 wamp。结果刚刚老板问我,为什么那么卡?我就比对了下速度。

两边机器配置完全一样,只是环境不同,一个是 lnmp,一个是 wnmp

先是 wamp,响应速度 1300ms,我就改成 nginx,响应速度变成 1200ms。

接着 lnmp,响应速度 120ms。

请问这是啥情况?有什么办法查看具体卡在哪个环节吗?是 nginx、还是 mysql、还是 php-fpm ?

7982 次点击
所在节点    程序员
58 条回复
tulongtou
2018-01-21 00:51:18 +08:00
likuku
2018-01-21 01:07:47 +08:00
@Yunhao 有啥头疼的,谁拍板谁负责,慢就慢呗。。内部站嘛,又不会被顾客骂。
likuku
2018-01-21 01:08:17 +08:00
Win 上妥妥用 C#/Java 就对了嘛。。。何必呢。
msg7086
2018-01-21 04:37:02 +08:00
@abcbuzhiming
我没用过 IIS 下的 FastCGI,不过我在微软官网找到这么一段话。

PHP Process Recycling Behavior

Ensure that FastCGI always recycles the php-cgi.exe processes before the native PHP recycling kicks in. The FastCGI process recycling behavior is controlled by the configuration property instanceMaxRequests. This property specifies how many requests the FastCGI process will process before recycling.

如果微软在瞎瘠薄说,那算我输。

@xutonglei86
Linux 下 localhost 是直接使用 unix socket 连接的,在 Windows 下,类似的技术叫 named pipe,你可以查下文档看怎么打开了用。改用 IP 以后会走网络套接字,性能可能会有影响。
另外 nginx 没有 epoll,小流量下没事,大流量会很惨。
AntiGameZ
2018-01-21 08:34:04 +08:00
@est DPDK 有对比么?求~
WispZhan
2018-01-21 08:38:01 +08:00
IIS+SQL server。其他不变
zjlin1984
2018-01-21 09:28:33 +08:00
学习了
falcon05
2018-01-21 10:45:46 +08:00
都在一台服务器的话,高并发大流量下先挂的是往往是 PHP 或者 MySQL,而不是 IIS 或者 nginx。
Zzzzzzzzz
2018-01-21 10:53:07 +08:00
win 下面跑, IIS 和 php 都不是坑, mysql 才是.......
realpg
2018-01-21 11:46:11 +08:00
@abcbuzhiming #26
你的 IIS 是几?不会是 6+山寨的 fastcgi 吧……

fastcgi 的意思就是程序脱离请求启动,独立处理请求,而且实际上,iis 官方带的 fastcgi 引擎就是常驻内存的,而且因为他的默认参数每个 fastcgi 处理的请求数太少,每次都是进程堆满服务器,得手动调参
realpg
2018-01-21 11:48:39 +08:00
@90safe #7
如果你要在 windows 下用好 mysql,那你一定得会调参,否则这个差距无法弥补

基本上,mysql 的预编译二进制包,如果调参良好,大概只有 25%左右的性能差距,这个差距如果想进一步缩小,NTFS 的分区参数,还有读写机制都得改,可能要源代码自己编译
cy97cool
2018-01-21 11:49:09 +08:00
如果在 windows 装个 VirtualBox 跑 Linux LNMP 性能又如何呢。。。
jhdxr
2018-01-21 13:15:16 +08:00
@cy97cool 死的非常惨,目测最大的瓶颈会在 virtualbox 上
cdffh
2018-01-21 13:45:52 +08:00
我也发现这个问题了. 很烦.
deepkolos
2018-01-21 14:18:22 +08:00
php 链接数据哪里填写 localhost 和 127.0.0.1 性能差距 1s, 现在机子的 wnmp 都是一个一个跟着官网安装, 没使用集成环境, PHP 数据库长链接,opcache 等基本优化设置,TTFB 可以达到 8ms
deepkolos
2018-01-21 14:26:40 +08:00
opcache 开启 enable_file_override 可以减少框架带来的损耗,磁盘 IO 比 cpu 宝贵些
crist
2018-01-21 14:26:55 +08:00
只要菜逼才会把数据库链接设成 localhost。
wekw
2018-01-22 13:38:43 +08:00
Windows 下最建议使用 IIS,不行的话可以用 Apache,不用怎么配置。

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

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

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

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

© 2021 V2EX