apache2.2.1 mod_jk 两个apache-tomcat-6.0.20 负载均衡
昨天突然页面访问慢,半天不响应,用下面的命令
watch -n 1 -d "pgrep httpd|wc -l" 一看httpd 当前的进程数已经达到了最大值
于是查看 apache 的工作模式是 ./apachectl -l
是 prefork模式
一。修改/apache/conf/extra 目录下的 httpd-mpm.conf文件修改最大连接数量
修改前:最大连接数是 150
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
修改后:
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 8000
MaxClients 8000
MaxRequestsPerChild 20
</IfModule>
二,修改workers.properties
worker.list=jkstatus, loadbalancer ,tomcat1 ,tomcat2
worker.maintain=60
worker.jkstatus.type=status
worker.tomcat1.port=8009
worker.tomcat1.host=127.0.0.1
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1
worker.tomcat1.redirect=tomcat2
worker.tomcat1.socket_keepalive=True
worker.tomcat1.socket_timeout=60
worker.tomcat1.retries=20
worker.tomcat1.connection_pool_size=1000
worker.tomcat1.connection_pool_minsize=100
worker.tomcat1.connection_pool_timeout=60
worker.tomcat1.recovery_options=3
worker.tomcat2.port=8109
worker.tomcat2.host=127.0.0.1
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1
worker.tomcat2.redirect=tomcat1
worker.tomcat2.socket_keepalive=True
worker.tomcat2.socket_timeout=60
worker.tomcat2.retries=20
worker.tomcat2.connection_pool_size=1000
worker.tomcat2.connection_pool_minsize=100
worker.tomcat2.connection_pool_timeout=60
worker.tomcat2.recovery_options=3
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=tomcat1,tomcat2
worker.loadbalancer.retries=20
~
三,修改tomcat的配置文件server.xml
<Connector port="8009" maxHttpHeaderSize="8192"
maxThreads="1000" minSpareThreads="30" maxSpareThreads="50"
acceptCount="1000"
enableLookups="false" redirectPort="8443" connectionTimeout="60000"
disableUploadTimeout="true" protocol="AJP/1.3" URIEncoding="GBK"/>
修改之前这俩都是 150
然后重启两个tomcat,重启apache ,然后在用命令 watch -n 1 -d "pgrep httpd|wc -l" 查看当前httpd 进程数
不一会就回增到1k ,2k ,以上,查了半天原因,网上搜了半天也没找到原因,偶尔看了一个帖子,有个人也碰到过,后来
经查是mysql数据库的原因,由于我们的是程序先读缓存文件,然后异步在生成要访问的文件,所以在apache重启后,访
问页面特别快,所有就没往数据库这方面想,感觉数据库不会有什么问题
但是httpd进程还是一直增加,只有重启apache才能缓解,这个问题困扰了一天,周一早晨来后,有同事说动态接口一直
访问不了,但是别的度缓存文件的页面却很流畅,我本地起了下系统,访问动态接口,看日志一直 不动,连数据库那卡住
了,这次意识到真是数据库出了问题,赶紧联系db 查看数据库,原来数据库hang住了。
哎,之前一直不知道是啥原因,看来httpd激增不一定就是apache配置的问题,也应该从程序或数据库方面考虑。
分享到:
相关推荐
- **日志记录**:httpd可以记录访问日志和错误日志,便于分析网站流量和排查问题。 - **SSL/TLS安全**:通过安装和配置SSL证书,httpd可以提供HTTPS服务,确保数据传输的安全性。 安装完成后,记得检查httpd是否...
为了保持服务器的安全和最佳性能,建议定期更新httpd到最新版本,并监控服务器日志,以便及时发现并解决问题。 在Linux环境中,httpd 2.4.57是一个强大且可靠的Web服务器解决方案,它提供了一系列高级功能和优化,...
在Linux环境下,配置CGI非常简单,只需要将CGI脚本放置在特定目录下,并设置好权限,mini_httpd就能自动识别并执行它们。 三、PHP集成 尽管mini_httpd本身体积小巧,但它并不缺乏对流行脚本语言PHP的支持。通过正确...
3. **ResourceConfig**和**AccessConfig**:这两个选项用于兼容旧版Apache,通常情况下,如果不需要使用srm.conf和access.conf,可以将它们分别设置为/dev/null,表示只使用httpd.conf作为唯一配置文件。 4. **Pid...
由于使用了`select()`系统调用,所以最大并发不能超过1024。 2. **Worker**:多进程模型,每个进程可以生成多个线程,每个线程响应一个请求。预生成多个空闲线程。 3. **Event**:一个进程可以直接响应多个请求,并...
"arm配置httpd" 本文将指导如何使用buildroot工具配置httpd(HTTP Server),支持PHP,并在arm板上配置httpd和PHP的解释器的配置文件。 一、标题:arm配置httpd arm板是基于Linux的嵌入式系统,需要配置httpd以...
ASP(Active Server Pages)是微软的一种服务器端脚本技术,尽管httpd本身并不直接支持ASP,但可以通过第三方模块(如mod_asp)实现对ASP的支持。在源码中,我们会看到模块注册过程,包括定义ASP处理函数,并将其...
解压后,你会得到一个名为“httpd-2.2.27”的目录,其中包含了Apache服务器的所有源代码、配置文件、文档以及编译和安装所需的相关工具。 在编译和安装Apache之前,确保你的系统已经安装了必要的依赖,比如GCC...
apache 配置文件httpd.conf,要运行php就要在该文件中进行相应的配置
3. 如果安装过程中遇到依赖问题,可能需要手动解决,或者使用`--nodeps`选项跳过检查。 4. 安装完成后,使用`systemctl start httpd`启动服务,`systemctl enable httpd`设置开机启动。 5. 配置httpd,如修改`/etc/...
在提供的压缩包文件"HTTPD_LINUX"中,可能包含了与httpd相关的文档、示例配置或额外的工具,用于帮助用户更好地理解和管理httpd服务器。解压该文件后,可以查看内部资源,获取更深入的指导。 总之,安装并配置...
在 Linux 系统中, Apache 服务器是一个常用的 Web 服务器,但是有时候我们安装 Apache 服务器后,使用 `service httpd restart` 命令却不能正常工作,提示“httpd 未被被识别的服务”。这篇文章将介绍如何解决这个...
2. **事件模型**:此版本引入了更高效的事件模型,即MPM(多进程模块)中的Event MPM,它能在处理高并发连接时提供更好的性能,通过非阻塞I/O减少资源占用。 3. **配置优化**:Apache 2.4的配置语法有所优化,使用...
1. 多线程处理:Apache支持多进程和多线程模型,能有效利用系统资源,提高并发处理能力。 2. URL重写:通过使用mod_rewrite模块,可以灵活地重写URL,实现动态网址到静态网址的转换,有助于SEO优化。 3. 灵活的配置...
例如,使用了Prefork MPM(多进程模块)或Worker MPM(多线程模块),以适应不同的服务器负载需求。 4. **配置灵活性**:Apache配置文件(httpd.conf)允许高度自定义,通过指令控制服务器行为,如设置访问权限、...
在linux下面安装apache服务器httpd源代码
在PHP 5.3之后,推荐使用FastCGI Process Manager (FPM) 来管理PHP进程,但本例中提到的httpd 2.4及更高版本已经内置了FastCGI模块,因此可以直接启用。 整合步骤分为以下几个关键部分: 1. **安装httpd**:首先...
这个名为"httpd-2.4.39.tar.gz"的文件是一个压缩包,包含了Apache HTTP Server的源代码,版本号为2.4.39。这个版本的发布是为了提供最新的...在实际操作中,还需要对日志进行监控,以便及时发现并解决可能出现的问题。
1. **禁用不安全的模块**:如CGI、ssi等。 2. **使用SSL/TLS**:提供HTTPS支持,保护数据安全。 3. **配置防盗链**:防止他人盗用网站资源。 4. **限制目录浏览**:避免敏感信息泄露。 5. **设置强密码和权限**:对...
httpd.ini是指wordpress程序在windows虚拟主机上的伪静态设置。...如果你用的是你自己的独立服务器,那么请到网上查找资料,由于frustigor没有找到相关的权威文件,不敢妄言,以下的内容也只作为参考。