血的代价换来的对apache性能的理解:
简单来说,这次遇到两个问题:
1 mpm工作模式:目前最流行的模式是perfork(非线程)模式和worker(线程)模式
因为线程自身的问题,自然perfork比worker模式要安全,并且在简单的情况下具有更快的速度(减少了线程的开销),但是对于繁忙的应用,worker模式由于具有更低的内存消耗,所以能支撑更多的请求。
编译:
--with-mpm=work
httpd.conf:
<IfModule worker.c>
StartServers 32
MaxClients 6400
ServerLimit 100
MinSpareThreads 256
MaxSpareThreads 1024
ThreadsPerChild 64
MaxRequestsPerChild 100000
</IfModule>
这样,就限制了最多允许同时处理6400个请求,根据模块的不同,这个极限值还可以增加
而当使用perfork的时候,必须要修改apache的源码才能修改上限值
如果不做限制,apache会不停增加进程数,直至耗尽系统资源为止
2 一个自定义的module,原先是在32位下编译并运行的,由于32位解释long int的极限是32位,不满足需求,因此代码里用了long long int型。相当的打印为"%lld",
现换在64位机器上重新编译时,由于64位机器,编译long int 为64位,因此改为"%ld"即可。但是问题来了:
如果编译apache mod采用apxs来编译,则必须改为"%ld",如果继续采用"%lld",则如下代码:
unsigned char * idstr = apr_psprintf(r->pool,"%lld",id);
结果是:%ld
而不是id的真实值
如果采用gcc来编译,是不会有这个问题的,估计是apxs的一个bug
版本:apache2.2.9
这个bug....
分享到:
相关推荐
通过阅读这份指南,用户可以逐步熟悉Apache2的各个方面,并能解决实际工作中遇到的问题。 《Apache2中文使用手册》是一本实用的工具书,无论你是初学者还是经验丰富的管理员,都能从中受益,提升对Apache2的掌握...
在调整配置后,如果仍然遇到问题,可能需要检查其他相关配置,如`AddDefaultCharset`指令,确保服务器发送正确的字符集信息给客户端。例如: ```apacheconf AddDefaultCharset UTF-8 ``` 此外,还要确保你的网页...
6. 实例分析:通过实际案例,展示如何在实际项目中应用Apache 2.0许可证,以及处理可能出现的法律问题。 7. 常见问题解答:针对使用者可能遇到的问题,提供清晰的解答,帮助快速理解和解决许可证相关疑惑。 除了主...
在这个过程中,可能会遇到各种问题,本文将详细探讨这些常见问题及其解决方法。 首先,Apache是流行的开源Web服务器,而Django是一个强大的Python Web框架。为了使两者协同工作,我们需要一个中间件,比如mod_...
此外,还会介绍如何启动、停止和重启Apache服务,以及解决安装过程中可能遇到的问题。 其次,**Apache服务器使用手册**部分深入解析了服务器的日常管理,如如何配置访问权限、设置重定向、启用URL重写功能等。这...
- 是Apache中非常强大的URL重写规则,常用于SEO优化和URL美化。 - 例如:`RewriteRule ^old/(.*)$ new/$1 [R=301,L]`表示将所有以`old/`开头的URL重定向到以`new/`开头的新URL。 #### 四、安全配置 1. **SSL/TLS...
在本文中,我们将深入探讨如何在Linux环境下安装Apache并配置中文目录支持,同时解决在添加模块和使用mod_encoding模块过程中可能遇到的问题。Apache HTTP Server是一个广泛使用的开源Web服务器,其可扩展性和灵活性...
在Windows XP系统上安装Apache 2的过程中,可能会遇到端口占用的问题。具体表现为Apache无法绑定到指定的端口(例如80端口),这通常是由于其他服务或应用程序(如IIS)已经在使用该端口。 错误提示信息通常为: ``...
配置过程中,你可能会遇到的一些常见问题包括端口冲突、权限问题、URL重写规则等。解决这些问题通常需要对httpd.conf文件进行适当的调整,或者添加额外的配置文件。 Apache支持许多插件和模块,例如mod_rewrite用于...
当我们在Windows环境下遇到由于服务安装不正确所导致的问题时,手动添加Apache服务成为解决问题的有效手段之一。本文将详细介绍如何在Windows系统下手动添加Apache服务。 #### 一、准备工作 在开始手动添加Apache...
Apache HTTP Server,通常简称为Apache,是世界上最流行的Web...如果你在安装过程中遇到任何问题,可以查阅Apache官方文档或在线社区寻求帮助。记住,实践是提升技能的最好方式,祝你在使用Apache的过程中一切顺利!
14. **故障排除**:当遇到服务器问题时,如何阅读错误日志、使用命令行工具(如netstat和tcpdump)进行诊断。 15. **更新与升级**:了解如何安全地更新和升级Apache到最新版本,以获取最新的安全补丁和功能改进。 ...
7. **故障排查**:当遇到问题时,手册会提供解决常见问题的步骤,包括配置错误、权限问题、模块冲突等。 8. **多平台兼容性**:Apache不仅在Linux和Unix系统上运行良好,也支持Windows等其他操作系统。手册会涵盖在...
**Apache在Windows 64位环境下的安装与配置** Apache HTTP Server是世界上最流行的Web服务器软件之一,它...记住,了解并熟练掌握Apache的配置和管理是运维工作中的重要一环,这将有助于提升服务器的稳定性和安全性。
当遇到问题时,Apache2的错误日志是排查故障的重要资源。同时,使用命令行工具如`apachectl`或`httpd`的 `-t` 和 `-S` 选项可以检查配置文件的语法和服务器的模块配置。 总之,本“Apache2中文教程”将带你全面了解...
- 错误日志记录了Apache运行过程中遇到的问题,默认情况下记录在`error_log`文件中。 - 可以通过`ErrorLog`指令指定错误日志的位置。 #### 七、Apache性能优化 1. **启用缓存** - 通过使用`mod_expires`模块...
在开始安装Apache之前,请确保你的系统已经更新到最新版本,因为这有助于避免安装过程中遇到已知问题: ```bash # 对于基于apt的系统 (Debian/Ubuntu) sudo apt update sudo apt upgrade # 对于基于yum的系统 ...
11. **故障排查**:提供常见问题的解决方案,帮助用户解决Apache运行中遇到的问题。 12. **模块开发**:对那些希望自定义模块的开发者,手册可能包含模块开发的基础知识和步骤。 通过深入阅读和实践"Apache中文...
在Windows Server 2003操作系统中,有时我们需要同时运行IIS(Internet Information Services)和...需要注意的是,配置过程中可能会遇到各种问题,如端口冲突、路径设置错误等,需要仔细检查并根据日志信息进行调试。
本文将详细讨论Apache中的线程模式,包括`prefork`和`worker`两种主要的多进程模块(MPM)。 首先,`prefork`模式是Apache的默认MPM,它采用预派生子进程的方式来处理HTTP请求。每个请求由一个单独的子进程处理,...