apache的 prefork 和 worker问题

【字号: 日期:2022-07-31浏览:50作者:雯心

问题描述

apache prefork是多进程处理请求的,worker模式是一个进程使用多个线程处理请求,等于说是多进程加多线程,处理并发请求可以更多,内存和CPU消耗更少,但有线程安全的问题。网上有一大堆比较这两个模式的区别,都是讲了我说的多进程,多线程的。问题一:既然worker模式可以提高高并发,省内存和CPU,那为什么apache默认还要使用prefork模式呢?问题二:apache用worker模式,然后再用linux的epoll模式,那是不是并发也能支持过万了?

问题解答

回答1:

apache当然可以使用worker模式进行对PHP处理了,就像你说的处理并发请求的能力增加,内存和CPU消耗会更少,但是唯一一点不足的是,prefork是多进程多线程的,而有些PHP扩展存在线程安全的问题,所以碰到不存在有线程安全的PHP扩展,完全可以使用,但如果存在,那么就最好别用,不然会造成数据的不一致性的,另外apache如果使用epoll确实也可以,但并发过万估计还是有点吃力

相关文章: