Apache性能调优-mpm

    早在开发Apache2.0版本时,开发人员就打算为Apache建立一个能够在所有平台上运行的处理模块,所有平台
的开发人员就可以使用这个模块的API编程。可是经过几个月的开发之后,开发者发现如果让Apache在所有平台
上运行,需要考虑太多问题,例如各个平台在建立进程和线程时的特性,于是,为了解决这个问题,Apache开发人员开发出
MPM(Mutli-Processing Modules 多通道处理模块),毫不夸张的说MPM的引入是Apache从1.3版本到2.0版本
最重要的变化,它使得Apache能适应更多平台以及不同的工作环境,极大的扩展了Apache的功能,使Apache以更简洁、
更有效的方式支持多种操作系统。同时Apache服务器还可以为一些特定的站点进行定制,例如:需要更好的伸缩性的站点可以选择使用worker或者event,

需要更好的稳定性和兼容性的站点使用prefork。而在支持POSIX线程的UNIX/Linux系统上,Apache可以通过不同的MPM运行在多进程与多线程混合模式下,增强部分配置的可扩充性能。至于Windows系统,可以使用mpm_winnt来代替Apache1.3中使用的POSIX模拟层,已取得更好的性能。

    由于MPM无法被模块化,所以对它的选择只能在编译时选择,并且只能被静态的编译到服务器中,在Apache2.2版本中MPM只能选择一个,同一台服务器无法使用多个MPM模块的(Apache2.4版本以前的版本),在APache2.4版本开始可以通过修改Apache的配置文件来实现MPM模块切换

Apache2.X MPM模块列表
MPM模块名 说  明


BeOS

专门针对BeOS优化过的多路处理模块(MPM),此模块是BeOS系统默认的MPM模块

※在Apache2.4版本的官方文档中去除了此项

mpm_netware 专门为Novell NetWare优化的,线程化的多路处理模块(MPM),此模块是NetWare系统默认的MPM模块
mpm_winnt
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这些都是编译 Apache 时可以使用的参数,下面逐一进行解释: 1. "--enable-mods-shared=most":启用共享模块,其中“most”表示启用绝大部分模块的共享库。使用共享模块可以减少内存使用,并且允许在运行时加载和卸载模块。 2. "--enable-mime-magic":启用 MIME 魔术模块,可以根据文件扩展名和内容类型确定文件的 MIME 类型。 3. "--enable-proxy":启用代理模块,允许 Apache 作为代理服务器转发请求。 4. "--with-apr-util":指定 APR 工具库的位置,该库包含了许多 Apache HTTP 服务器所需的工具函数。 5. "--enable-nonportable-atomics=yes":启用非可移植的原子操作,可以提高 Apache 的性能。 6. "--enable-remoteip":启用 RemoteIP 模块,可以从代理服务器或负载均衡器接收真实的客户端 IP 地址。 7. "--enable-http2":启用 HTTP/2 模块,可以使用 HTTP/2 协议提高网站的性能和响应速度。 8. "--with-nghttp2=/usr/local/nghttp2":指定 nghttp2 库的位置,用于启用 HTTP/2 模块。 9. "--with-ssl=/usr/local/openssl111":指定 OpenSSL 库的位置,用于启用 SSL/TLS 加密。 10. "--enable-lua":启用 Lua 脚本语言支持,可以使用 Lua 脚本编写 Apache HTTP Server 的模块。 11. "--enable-cgi":启用 CGI 模块,可以运行 CGI 脚本。 12. "--with-zlib":指定 zlib 库的位置,用于启用压缩和解压缩功能。 13. "--enable-expires":启用 Expires 模块,可以为静态文件设置过期时间。 14. "--enable-modules=most":启用绝大部分模块。 15. "--with-mpm=prefork":指定 Apache 的多进程模式为 prefork,即每个请求都会启动一个独立的进程。 16. "CFLAGS=-I/usr/local/openssl111/include":指定 OpenSSL 库的头文件路径。 17. "LIBS=-L/usr/local/openssl111/lib":指定 OpenSSL 库的库文件路径。 如果没有这些参数,Apache 在编译时将会使用默认的设置。这些参数的具体使用场景取决于你的具体需求,可以根据自己的实际情况进行选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值