最近应聘百度,百度一大神电话面试,问了一大堆问题,最终我自我感觉砸在了fast cgi上,因为从来没研究过这个东西,于是百度学习了下。
看了很多,最终自己这么理解:
相对于传统的CGI模式,
mod_php 的优势就是用多线程模式来应对请求,每次执行完后,线程消失,所有资源消失。存在的问题是其中一个线程可能会搞死主进程,造成server宕机。且大量逻辑计算会影响主进程的相应速度;
fastcgi的优势是主server进程通过socket与cgi管理器通信,cgi管理器从cgi进程池中安排其中一个cgi进程进行处理,处理完毕后这个cgi进程回收资源但是不退出,等待下一个处理。这样即使cgi进程崩溃,也完全不会影响server进程。且server的计算更加单纯,只负责收发数据。相当于是一种负载均衡解决方案,可以支撑大量访问。但是我觉得存在的问题是因为cgi进程不会退出,可能其稳定性会存在问题,比如回收不彻底等,会造成其崩溃,所以虽然主server进程不挂,但是处理某一个人的计算的时候,可能会针对这个请求挂掉,所以稳定性并不是完全可靠。
请大家指教啊!!!
1
Tomilay 2015-01-09 13:58:48 +08:00
。。。
|
2
cevincheung 2015-01-09 14:03:03 +08:00 1
max_requests = 100
当进程处理过100个请求,自动退出,再开进程。 php-fpm默认关闭该选项 |
3
yakczh 2015-01-09 14:44:56 +08:00
会这个百度开多少钱?
|
5
udonmai 2015-01-09 15:08:53 +08:00 1
面 PHP 前看下这两个呗。。。 Google 直接搜 [ php best practice ] 。。。
http://www.phptherightway.com/#virtual_or_dedicated_servers https://phpbestpractices.org/ |
6
aiwha 2015-01-09 15:37:12 +08:00 via Android
这是面试的运维职位吧?不知咋的,SA需要掌握何知识面远大于程序猿,可工资水准却顶多一万,比DBA还差,小公司SA还兼DBA和修电脑的。。。。
|
8
nigelvon 2015-01-09 16:01:59 +08:00
个人觉得有点略偏。不会也不能说明什么,对于Server开发这个职位来说。
|
9
tabris17 2015-01-09 16:07:43 +08:00
这不是PHP基础知识么
|
11
qqjt 2015-01-09 16:23:20 +08:00
贴子加这个前缀没问题么……
|
12
qqjt 2015-01-09 16:24:20 +08:00
apache -> mod_php
nginx ->php_fpm 我是这么理解的…… |