最近应聘百度,百度一大神电话面试,问了一大堆问题,最终我自我感觉砸在了fast cgi上,因为从来没研究过这个东西,于是百度学习了下。
看了很多,最终自己这么理解:
相对于传统的CGI模式,
mod_php 的优势就是用多线程模式来应对请求,每次执行完后,线程消失,所有资源消失。存在的问题是其中一个线程可能会搞死主进程,造成server宕机。且大量逻辑计算会影响主进程的相应速度;
fastcgi的优势是主server进程通过socket与cgi管理器通信,cgi管理器从cgi进程池中安排其中一个cgi进程进行处理,处理完毕后这个cgi进程回收资源但是不退出,等待下一个处理。这样即使cgi进程崩溃,也完全不会影响server进程。且server的计算更加单纯,只负责收发数据。相当于是一种负载均衡解决方案,可以支撑大量访问。但是我觉得存在的问题是因为cgi进程不会退出,可能其稳定性会存在问题,比如回收不彻底等,会造成其崩溃,所以虽然主server进程不挂,但是处理某一个人的计算的时候,可能会针对这个请求挂掉,所以稳定性并不是完全可靠。
请大家指教啊!!!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.