我有一个用PHP完成的Web产品,理论上应该支持很多用户。 问题是,我刚刚离开了Apache,发现它只是作为CGI运行。 这是非常错误的,我应该做的fastcgi或只是把它保持原样?
使用CGI优先于fastCGI或apache模块的唯一有效理由是
如果这些都不适用,那么你的网站将会慢得多,需要更多的资源来操作,因为操作系统需要为每个请求启动一个新的进程。
只是了解两种方法之间的区别:
用cgi ,web服务器为每个请求启动一个新的进程(你想为浏览器创build响应的脚本)。 (如果没有人访问你的服务器,没有进程闲置)。
与fastcgi你有一堆想要'脚本'的正在运行的实例。 (这种方法可以节省启动新进程的时间,但是你必须控制一大堆正在运行的实例,google for php-fpm)。
现在要select什么:如果真实访问者的数量符合你的“理论”期望值,并且你体验到糟糕的性能:考虑从“cgi”切换到“fastcgi”。 无论如何,你应该读入“fastcgi”来加深你的技能。 但是只要用户数量很小,速度是“好的”,就不需要采取任何措施。
什么是“大规模”? 对于某些用户来说,每个月一千万次综合浏览量,每小时大约一千万次网页浏览量。 这是给你什么
您在评论中提到的“1.5k访问量”当然不是很多,传统的CGI将会在没有任何问题的情况下使用这种stream量。 根据您的系统上运行的Web应用程序,传统的CGI可能会比当前的stream量繁忙一百倍。
但是,让我们忘记数字。
FastCGI比传统的CGI更快,因为已经有那些已经运行的工作进程在等待新的请求来处理。 在传统的CGI中,每个请求都会产生一个新的过程。 理论上,FastCGI可能已经帮助您在网站响应时间,完全取决于当前的瓶颈是您的Web应用程序(例如,实际的瓶颈是数据库调用)。