今天听了一个所谓的架构师的言论,颠覆了我的三观

2016-10-14 20:09:49 +08:00
 sunmonster

我是做 php 开发的,同时也会做一些运维,前端,数据库方面的工作,对这些也算有些基本的了解。今天跟那个架构师讨论了一些关于架构的一些问题,他说的话跟我自己所总结出来的完全相反,而且我也不是很认同他,主要有以下几点:

  1. 关于基本的 lemp 架构优化,我说 nginx , PHP 已经很快了,对于一个应用,它在发展的过程中首先出现的瓶颈是 DB ,所以要做读写分离。他说我是错的, php 的并发量是很低的,他说他做过测试, Laravel 只输出 hello world 的并发量才每秒 86 ,我不信,他说很多人都不信,但是我们做过测试,你有做过测试吗?我确实没做过,但是以我的经验来说不会这么底,他说 CI 也就 300 的并发量,所以做高并发的网站 laravel 框架是不行的。

  2. 因为他们用的服务器内存是 16G ,我问他你们 fpm 进程开了多少?他说不知道,我说 16G 大内存 fpm 坑定要设置成静态的,按照 50 ~ 100M 分配一个 fpm 进程,预留一些系统内存开销,很容易估算出大致进程数。他说他们是设置成动态的,进程数是一直在变的,所以不知道。

很多时候我想发表一些想法,他马上打断我说这是不行的,我说我还没说想怎样呢,他说你不就是想这样这样吗?

最后我向他要测试报告,他说这是公司内部信息,不方便提供,我也不好说啥。

8814 次点击
所在节点    问与答
42 条回复
cxbig
2016-10-14 20:25:56 +08:00
这年头满地"砖家”,拿不出事实基础的,不用太过在意。
拿 Hello World 来做并发测试说明不了什么问题,不同的 Application 情况不一样。
visonme
2016-10-14 20:27:37 +08:00
听说动嘴皮的工资都比干实事的高
pi1ot
2016-10-14 20:30:32 +08:00
双方都是在自己划定的场景内无意义的空对空 PK 。
likezun
2016-10-14 20:33:41 +08:00
垃圾架构师~
wd
2016-10-14 20:34:42 +08:00
对于 1 你有空发帖没空测试吗?
sutra
2016-10-14 20:48:36 +08:00
PHP 性能我不知道,但是有人说 PHP5 性能和 PHP7 比起来差得很多很多:

看看别人说的,这结论就是 PHP5 性能差得多可怕。

Badoo 将积累了 10 年的、超过 2 百万行的 PHP 代码升级到 PHP7 后(紧随 Etsy 之后,第二个大规模使用 PHP7 的公司), CPU/内存使用降了一半,少运行了一半的机器( 300 台),直接省下$100 万。


https://wanqu.co/a/2948/2016-03-16-how-badoo-saved-one-million-dollars-switching-to-php7.html?s=social
Midnight
2016-10-14 20:50:13 +08:00
用不同框架来做这种测试 真是咸的蛋疼啊。。。。
Infernalzero
2016-10-14 20:52:47 +08:00
对于 web 应用,太过专注于应用本身的并发意义不大,因为这都可以通过加机器解决,最终的瓶颈就是在存储层
sunmonster
2016-10-14 21:07:59 +08:00
@pi1ot 请问这需要什么场景呢,他是强调 php 慢,并不是 php 有多快,测试 hello world 不能说明 php 有多块,但是如果 hello world 都很慢,难道增加业务量会很快?
sunmonster
2016-10-14 21:11:07 +08:00
@wd 如何测试?他说的测试环境配置,以及如何测试的我都不知道,有比较的意义?如果只是想证明 laravel 的并发量大于 86 ,我之前运营的都上 300 了,所以说我不信,最后还向他要测试报告,想搞清楚他是怎么测试的
pi1ot
2016-10-14 21:21:11 +08:00
@sunmonster 任何有意义的 profile 结果和对比都是在限定需求场景下实际运行测试得出的,你说做过测试,是什么硬件条件,什么测试方式,他说达不到,又是什么情况,从你的描述是看不出来的。
wayslog
2016-10-14 21:25:55 +08:00
这…… php 的并发看来真的低啊……我用 Python 都能随意达到千……(当然抛弃场景谈 benchmark 是一件很扯淡的事儿……
mcfog
2016-10-14 21:34:42 +08:00
先不说技术什么的,讨论的时候不断打断对方的人就别和他讨论了,不会有什么建设性的
ovear
2016-10-14 21:48:36 +08:00
https://www.90.cx/php-mode/

贴一篇文章顺便 @hostker
huigeer
2016-10-14 23:11:24 +08:00
解释性语言性能差很正常,满足需求就行。 laravel 开启 opcache 和啊开启,差好几倍,做过测试
qieqie
2016-10-14 23:33:58 +08:00
跟语言无关, PHP 并发低的印象要怪主流的执行模式( pre-fork/cgi/fast-cgi..)都很低效,当然 laravel 这种一个 hello world 也要引用 20 , 30 个文件的框架也是压测杀手。
纯 php 写的 socket server (不需要 apache nginx 这种 web 容器),在 i5 CPU 的 Linux 上,就可以并发 20w+ TCP 连接。单进程或者多进程模式下都比 node.js 高,比各种 python server 更是有数量级的优势。
billlee
2016-10-15 01:12:36 +08:00
并发的单位为什么是 s^-1, 这个单位是吞吐量吧
这个锅确实得执行模式背
msg7086
2016-10-15 03:37:48 +08:00
「所以要做读写分离」
-> 所以要合理缓存……
shiny
2016-10-15 03:42:43 +08:00
进程数动态也是要调参数的,有最大进程数限制。
默认的参数是比较低的。
deyu260
2016-10-15 07:26:15 +08:00
快速写业务吧 赚钱了 堆机器 加负载均衡 各种分离

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

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

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

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

© 2021 V2EX