apache prefork是多進程處理請求的,worker模式是一個進程使用多個線程處理請求,等於說是多進程加多線程,處理並發請求可以更多,內存和CPU消耗更少,但有線程安全的問題。網路上有一大堆比較這兩個模式的差別,都是講了我說的多進程,多執行緒的。 問題一:既然worker模式可以提高高並發,省內存和CPU,那為什麼apache預設還要使用prefork模式呢? 問題二:apache用worker模式,然後再用linux的epoll模式,那是不是並發也能支援過萬了?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
apache當然可以使用worker模式進行對PHP處理了,就像你說的處理並發請求的能力增加,內存和CPU消耗會更少,但是唯一一點不足的是,prefork是多進程多線程的,而有些PHP擴充有線程安全的問題,所以碰到不存在有線程安全的PHP擴展,完全可以使用,但如果存在,那麼就最好別用,不然會造成數據的不一致性的,另外apache如果使用epoll確實也可以,但併發過萬估計還是有點吃力
apache當然可以使用worker模式進行對PHP處理了,就像你說的處理並發請求的能力增加,內存和CPU消耗會更少,但是唯一一點不足的是,prefork是多進程多線程的,而有些PHP擴充有線程安全的問題,所以碰到不存在有線程安全的PHP擴展,完全可以使用,但如果存在,那麼就最好別用,不然會造成數據的不一致性的,另外apache如果使用epoll確實也可以,但併發過萬估計還是有點吃力