- 浏览: 3432001 次
- 性别:
- 来自: 珠海
文章分类
- 全部博客 (1633)
- Java (250)
- Android&HTML5 (111)
- Struts (10)
- Spring (236)
- Hibernate&MyBatis (115)
- SSH (49)
- jQuery插件收集 (55)
- Javascript (145)
- PHP (77)
- REST&WebService (18)
- BIRT (27)
- .NET (7)
- Database (105)
- 设计模式 (16)
- 自动化和测试 (19)
- Maven&Ant (43)
- 工作流 (36)
- 开源应用 (156)
- 其他 (16)
- 前台&美工 (119)
- 工作积累 (0)
- OS&Docker (83)
- Python&爬虫 (28)
- 工具软件 (157)
- 问题收集 (61)
- OFbiz (6)
- noSQL (12)
最新评论
-
HEZR曾嶸:
你好博主,这个不是很理解,能解释一下嘛//左边+1,上边+1, ...
java 两字符串相似度计算算法 -
天使建站:
写得不错,可以看这里,和这里的这篇文章一起看,有 ...
jquery 遍历对象、数组、集合 -
xue88ming:
很有用,谢谢
@PathVariable映射出现错误: Name for argument type -
jnjeC:
厉害,困扰了我很久
MyBatis排序时使用order by 动态参数时需要注意,用$而不是# -
TopLongMan:
非常好,很实用啊。。
PostgreSQL递归查询实现树状结构查询
http://my.oschina.net/vvcumt/blog/498828
我用512M的vps,访问量不大,但内存占用很大,甚至宕机。
我用top,然后shitf+m发现,httpd占用内存极大。经过网上找资料设置后,用过一段时间终于没再出现内存问题了。
首先查找配置文件的位置,可以用如下命令:
find / -name httpd.conf
找到配置文件/usr/local/apache/conf/extra/httpd-mpm.conf,修改设置Apache MPM Prefork模块
StartServers 3
MinSpareServers 2
MaxSpareServers 5
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 40
我原来的MaxRequestsPerChild是为0,问题应该在此。
StartServers设置了服务器启动时建立的子进程数量
MinSpareservers和MaxSpareServers分别设置空闲子进程的最小和最大数量
ServerLimit则是控制MaxClients所能使用的最大值。缩减MaxClients能让运行动态内容(比如:WordPress)的服务器有很大的改变。如果你的VPS遭遇到流量的大幅增加,而你的MaxClients设置的太高的话,你的服务器将会无限循环工作于从物理内存交换页面到虚拟内存中,最终导致宕机。一般计算适当的MaxClients值取决于你总共可用的系统内存除于每个Apache进程使用的内存。例如,如果你还有500MB的内存可用于Apache,每个Apache进程大约使用20MB的内存,你可以设置你的MaxClients为(512-12)/ 10 = 50(这个计算好像原文中有误)。使用命令top可以得到你VPS实时内存的使用。
MaxRequestsPerChild这个指令设定一个独立的子进程将能处理的请求数量。在处理“MaxRequestsPerChild 数字”个请求之后,子进程将会被父进程终止,这时候子进程佔用的内存就会释放,如果再有访问请求,父进程会重新产生子进程进行处理。如果 MaxRequestsPerChild预设为0(无限)或较大的数字(例如10000以上)可以使每个子进程处理更多的请求,不会因为不断终止、启动子进程降低访问效率,但MaxRequestsPerChild设置为0时,如果佔用了200~300M内存,即使负载下来时佔用的内存也不会减少。内存较大的服务器可以设置为0或较大的数字。内存较小的服务器不妨设置成50、100、200,以防内存溢出。
找到配置文件/usr/local/apache/conf/extra/httpd-default.conf,修改KeepAlive设置
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 30
#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to “Off” to deactivate.
#
KeepAlive On
#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 120
#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 5
Timeout是一个连接多少时间后断开,这个参数设置在30-60是一般的php程序都是适用的,至少要运行一些要占用大量时间的php程序,那么适当调高也是可以的,但请不要太高,否则会影响apache性能,本次优化我们使用30就很足够了。
MaxKeepAliveRequests 是一个连接最大的请求量,对于页面有较多的图片等元素,可以适当调高一点,对于一般的网页设置在80-120是足够的,我们就设置为120,如果设置太高会导致httpd长时间不能退出释放内存的。
KeepAliveTimeout 是当用户处理一次连接时,如果在该参数的时间内还有请求则会继续执行,不需要重新创建新的连接,直到达到MaxKeepAliveRequests的最大值才会退出。对于perfork模式下的,有人认为是将KeepAlive Off会比较好,但是对于绝大多数的网站都会不多不少有些图片元素,所以将该项打开,并将KeepTimeOut设置在2-5秒,不但有效提高服务器性能,也能加快页面打开速度。
如果还需要优化可以考虑修改启动的模块,Wordpress主要使用以下模块,保留这些其他的可以注释掉
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule expires_module modules/mod_expires.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule dir_module modules/mod_dir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule negotiation_module modules/mod_negotiation.so
我用512M的vps,访问量不大,但内存占用很大,甚至宕机。
我用top,然后shitf+m发现,httpd占用内存极大。经过网上找资料设置后,用过一段时间终于没再出现内存问题了。
首先查找配置文件的位置,可以用如下命令:
find / -name httpd.conf
找到配置文件/usr/local/apache/conf/extra/httpd-mpm.conf,修改设置Apache MPM Prefork模块
StartServers 3
MinSpareServers 2
MaxSpareServers 5
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 40
我原来的MaxRequestsPerChild是为0,问题应该在此。
StartServers设置了服务器启动时建立的子进程数量
MinSpareservers和MaxSpareServers分别设置空闲子进程的最小和最大数量
ServerLimit则是控制MaxClients所能使用的最大值。缩减MaxClients能让运行动态内容(比如:WordPress)的服务器有很大的改变。如果你的VPS遭遇到流量的大幅增加,而你的MaxClients设置的太高的话,你的服务器将会无限循环工作于从物理内存交换页面到虚拟内存中,最终导致宕机。一般计算适当的MaxClients值取决于你总共可用的系统内存除于每个Apache进程使用的内存。例如,如果你还有500MB的内存可用于Apache,每个Apache进程大约使用20MB的内存,你可以设置你的MaxClients为(512-12)/ 10 = 50(这个计算好像原文中有误)。使用命令top可以得到你VPS实时内存的使用。
MaxRequestsPerChild这个指令设定一个独立的子进程将能处理的请求数量。在处理“MaxRequestsPerChild 数字”个请求之后,子进程将会被父进程终止,这时候子进程佔用的内存就会释放,如果再有访问请求,父进程会重新产生子进程进行处理。如果 MaxRequestsPerChild预设为0(无限)或较大的数字(例如10000以上)可以使每个子进程处理更多的请求,不会因为不断终止、启动子进程降低访问效率,但MaxRequestsPerChild设置为0时,如果佔用了200~300M内存,即使负载下来时佔用的内存也不会减少。内存较大的服务器可以设置为0或较大的数字。内存较小的服务器不妨设置成50、100、200,以防内存溢出。
找到配置文件/usr/local/apache/conf/extra/httpd-default.conf,修改KeepAlive设置
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 30
#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to “Off” to deactivate.
#
KeepAlive On
#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 120
#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 5
Timeout是一个连接多少时间后断开,这个参数设置在30-60是一般的php程序都是适用的,至少要运行一些要占用大量时间的php程序,那么适当调高也是可以的,但请不要太高,否则会影响apache性能,本次优化我们使用30就很足够了。
MaxKeepAliveRequests 是一个连接最大的请求量,对于页面有较多的图片等元素,可以适当调高一点,对于一般的网页设置在80-120是足够的,我们就设置为120,如果设置太高会导致httpd长时间不能退出释放内存的。
KeepAliveTimeout 是当用户处理一次连接时,如果在该参数的时间内还有请求则会继续执行,不需要重新创建新的连接,直到达到MaxKeepAliveRequests的最大值才会退出。对于perfork模式下的,有人认为是将KeepAlive Off会比较好,但是对于绝大多数的网站都会不多不少有些图片元素,所以将该项打开,并将KeepTimeOut设置在2-5秒,不但有效提高服务器性能,也能加快页面打开速度。
如果还需要优化可以考虑修改启动的模块,Wordpress主要使用以下模块,保留这些其他的可以注释掉
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule expires_module modules/mod_expires.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule dir_module modules/mod_dir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule negotiation_module modules/mod_negotiation.so
发表评论
-
FFmpeg常用基本命令
2016-07-15 11:52 0http://www.cnblogs.com/dwdxdy/p ... -
iF.SVNAdmin安装
2016-06-27 17:13 1426http://blog.linhere.com/archive ... -
分布式存储系统GlusterFS安装配置
2016-06-27 14:51 1038http://navyaijm.blog.51cto.com/ ... -
分布式查询 presto 入门安装使用
2016-06-24 15:44 2507http://my.oschina.net/chengxiao ... -
跟我学习dubbo
2016-06-17 15:20 1075跟我学习dubbo-目录 http://bluereader. ... -
JavaMelody监控web服务器
2016-06-17 14:20 1185JavaMelody监控web服务器 http://my.os ... -
freemarker使用记录
2016-06-08 16:24 1313freeMarker语法 http://uule.iteye. ... -
freemarker判断是否为空
2016-06-08 16:03 2http://www.oschina.net/code/sni ... -
ehcache 分布式支持
2016-06-05 22:26 1104原文 http://my.oschina.net/glenxu ... -
Intellij IDEA插件开发入门
2016-05-26 11:42 2890原文: http://blog.csdn.net/dc_726 ... -
阿里巴巴Druid数据源的配置与使用
2016-05-24 17:42 1551http://my.oschina.net/wjme/blog ... -
apache调优
2016-05-21 10:10 1145http://my.oschina.net/renqingsh ... -
分布式任务调度组件 Uncode-Schedule
2016-05-13 14:47 2293http://www.oschina.net/p/uncode ... -
mysql中间件研究(Atlas,cobar,TDDL), 分库分表插件
2016-05-09 14:15 3458http://www.guokr.com/blog/47576 ... -
Fedora安装Redis
2016-05-04 08:56 1417管理工具: centos6.3下安装phpredisadmin ... -
redis-install.sh
2016-05-04 08:56 4#!/bin/bash # From here: http: ... -
redis 集群中Session解决方案之Spring Session
2016-05-04 08:54 1324集群中Session解决方案之Spring Session h ... -
使用Spring-data进行Redis操作
2016-05-04 08:54 4807使用Spring-data进行Redis操作 http://z ... -
Shiro集群实现
2016-05-04 08:53 2318apache shiro集群实现(一) session共享 h ... -
spring 注解方式下使用commons-validator 验证表单
2016-05-03 11:08 3085原文: http://www.programgo.com/ar ...
相关推荐
**解决办法:** 1. **检查配置文件**:打开Apache的配置文件,查找可能的错误,如错别字、语法错误、路径错误等。确保监听的端口没有被其他程序占用,通常默认为80端口。 2. **修改权限**:确保Apache服务可以读取和...
9. **社区求助**:如果以上步骤都不能解决问题,可以参考Apache的官方文档,或者在Apache用户论坛或相关技术社区(如给定的博客链接)寻求帮助,提供详细的错误信息以便他人协助诊断。 在处理这类问题时,耐心和...
##### 3.4 Apache服务器TIME_WAIT过多的解决办法 当Apache服务器面临大量TIME_WAIT状态的连接时,可能会导致新的连接请求被拒绝。解决这一问题的方法包括: - **调整TCP参数**:例如,通过设置`...
在安装和配置的过程中可能会遇到一些问题,这里列举几个常见的问题及其解决办法: - **Apache启动失败**:确保没有其他服务占用80端口;检查`httpd.conf`中的错误配置;查看Apache的日志文件获取更详细的错误信息。...
为了满足网站高负荷的要求,在调整Apache参数时发现进程经常占用内存过多导致当机。经过不断的优化和修改参数组合,终于让服务器稳定 下来,可以满足大量访问的考验和应用要求。笔者总结了调试过程中的问题和解决...
Apache的模块化设计允许根据需求选择加载必要的模块,减少不必要的内存占用。此外,使用`apachectl status`命令监控Apache状态,及时发现并解决问题。 **PHP优化** PHP脚本执行效率直接影响动态内容的生成速度。...
当处理大型文件、大量数据或者高内存消耗的图像处理任务时,这个限制就可能成为问题,导致脚本运行错误或者执行中断。 解决这个问题的方法有多种,可以根据实际情况灵活选择: 1. **修改php.ini配置文件**: 这是...
然而,当并发达到一定程度,如500个请求时,可能出现网络问题,解决办法是禁用AcceptEx以避免性能下降,但这可能导致负载平衡器性能降低。 2. **Session复制**:在Tomcat集群中,为了保持会话的连续性,每个节点都...
2. 代码存在内存泄露,即程序中某些部分没有正确释放占用的内存。 3. 使用了大量内存的第三方库或扩展。 4. 读取大文件,特别是图片或其他媒体文件时,可能导致内存需求超出限制。 解决这个问题通常有以下几种方法...
#### 七、常见问题及解决办法 - **启动失败**: 检查配置文件中的IP地址是否正确。 - **连接超时**: 确认Zookeeper与Kafka之间的网络连接是否正常。 - **内存溢出**: 根据实际需求调整JVM内存大小。 #### 八、扩展...
关于在Windows操作系统下使用Apache Tomcat服务器时,遇到点击startup.bat文件后程序立即退出(即闪退)的问题,通常与环境变量的配置、配置文件的设置或者Tomcat服务器本身的设置有关。下面将详细介绍该问题的可能...
二、常见问题与解决办法 1. **乱码问题**:在导出Excel时,文件名或内容可能出现乱码。解决方法是确保设置正确的字符编码,例如设置`response.setCharacterEncoding("UTF-8")`,并指定文件名的编码,如`response....
Memcached作为一个高性能、分布式的内存对象缓存系统,可以用来存储session数据,使得所有Tomcat实例都能访问这些数据。 针对标题和描述中提到的问题,解决步骤如下: 1. **配置Manager组件**: 在每个Tomcat实例...
### 常见问题与解决办法 #### 无法启动Apache服务 - **检查端口占用**:确保没有其他服务占用Apache使用的端口(通常是80或8080)。 - **查看错误日志**:在AppServ安装目录下的`logs`文件夹中查找错误日志,查看...
Axis2是基于AXIOM(Abstract XML Information Model)的,提供了高性能和低内存占用的SOAP处理能力。它支持WS-I Basic Profile 1.1,确保了与不同平台的互操作性。Axis2不仅仅是一个简单的SOAP引擎,还包含了丰富的...
**常见问题及解决办法:** 1. **无法访问Tomcat**:若启动成功但无法访问Web应用,可能是防火墙阻止了连接。通过`service iptables status`检查防火墙状态,使用`chkconfig --list | grep -i iptables`查看防火墙...
- **低内存消耗**:相比其他Web服务器软件,Nginx在内存占用方面表现更为优秀。 - **丰富的特性**:除了作为HTTP服务器外,Nginx还支持反向代理、负载均衡、缓存等功能。 - **灵活的配置**:配置文件简洁易懂,支持...
- **遇到的问题及解决办法**:技术难题、团队合作、时间管理等方面。 - **项目收获**:个人成长、团队协作经验等。 - **构建工具与模块划分**:构建工具(如Maven、Gradle)、多模块开发的目的等。