1g内存服务器Apache怎么优化,Apache性能优化-解决吃内存的问题 | kTWO-个人博客
虽然现在已经00:22了,但是还是抑制不住内心的激动,因为解决了好几天以来一直困惑我的问题——服务器httpd服务一直在吃内存,只要有人访问,服务器的内存就会小一点,慢慢的就会被吃掉所有内存,经过几天的研究,最终确定为内存泄漏问题,因为服务器的内存本身就笑,而Apache的默认配置对小内存服务器还是有些不兼容的,比如我遇到的这个内存泄漏。下面就分析一下这个问题。
当然,遇到这种问题,第一时间就是去google上看看有没有类似的问题,结果还真的有,很多站长遇到了跟我相同的问题。回答也都各有千秋,我都照着配置了一遍进行了测试,但是结果并不尽人意,反而也来越糟。
最后,在某一篇文章上看到了还不错的解决方案。然而好像大部分的回答都起了反作用。
一、配置Apache
在Apache的配置文件中找到以下配置
模式1
[cce_xml]
StartServers 8 #数量的服务器进程开始
MinSpareServers 5 #最小数量的服务器进程,保存备用
MaxSpareServers 20 #最大数量的服务器进程,保存备用
ServerLimit 256 #进程的线程数
MaxClients 256 #最大请求并发数,同上值相等即可
MaxRequestsPerChild 30 #最大子进程请求数
1
2
3
4
5
6
7
8
9
[cce_xml]
StartServers 8 #数量的服务器进程开始
MinSpareServers 5 #最小数量的服务器进程,保存备用
MaxSpareServers 20 #最大数量的服务器进程,保存备用
ServerLimit 256 #进程的线程数
MaxClients 256 #最大请求并发数,同上值相等即可
MaxRequestsPerChild30 #最大子进程请求数
模式2
[cce_xml]
StartServers 2
MaxClients 500
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 30
1
2
3
4
5
6
7
8
9
[cce_xml]
StartServers 2
MaxClients 500
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild30
上面是Apache的两种模式,一般都是第一种prefork,所以以第一种为例。
参数介绍:startServers是当apache开启的时候创建的进程数,MinSpareThreads是最小的空闲进程数,MaxSpareThreads是最大的空闲进程数,apache会努力的将空闲进程保存在这两者之间,ServerLimit是最大限制的请求并发数,用来限制MaxClients,只要不超过这个数值即可,MaxRequestPerChild是最大子进程请求数,当进程请求数达到这个数值之后就apache就会销毁该进程。
红色字体部分是重点,网上好多地方说可以设置的大一点,但是我测试过了,设置在1000+之后服务内存反而消耗的更快,所以在小内存服务器上最好设置为30-50之间,当然,如果是牛逼的服务器完全不用考虑这一点,设置为0或者1000+都可以,但是不建议设置为0,如果设置为0则代表不释放线程内存,因为不知道apache啥时候可能出现内存泄漏,所以还是不要设置为0。
亲自测试过了。这种配置完全可以解决httpd一直消耗内存的问题。
如果还行进一步优化,还可以开启GZIP压缩,增加网站的打开速度,具体方法见https://www.k2zone.cn/?p=195
问题解决了,时间也不早了,睡觉喽。
1g内存服务器Apache怎么优化,Apache性能优化-解决吃内存的问题 | kTWO-个人博客相关推荐
- NEON优化:性能优化常见问题QA
NEON优化:性能优化常见问题QA NEON优化系列文章: NEON优化1:软件性能优化.降功耗怎么搞?link NEON优化2:ARM优化高频指令总结, link NEON优化3:矩阵转置的指令优化 ...
- 前端优化-前端性能优化
最近前端群里的小伙伴问我,老板喊我做前端优化我该怎么去优化呢?.我思考了了一下,提出了以下几点建议- 文章目录 一.思考 二.可读性优化(不细讲) 1.模块化 2.组件化 3.文件规范 4.commi ...
- 【Java】购买腾讯云服务器,并部署Spring boot项目,再到部署自己的个人博客,域名备案,安全连接配置
云服务器部署 一.购买腾讯云服务器 二.简单配置 2.1 进入控制台 2.2 配置防火墙 2.3 配置访问密码 三.远程ssh登录连接服务器 四.云服务器安装软件 4.1 安装JDK 4.2 安装My ...
- 博客推广优化SEO排名方案大汇总!何必东奔西走这里的博客优化的文章应有尽有!!...
企业 博客优化推广精品方案很有深度,很有参考价值. 建立博客群 博客地址: ①Donews :http://blog.donews.com/default.html ②新浪:http://blog.s ...
- Apache Flink OLAP引擎性能优化及应用
精选30+云产品,助力企业轻松上云!>>> 摘要:最近我们也正打算做OLAP分析平台,在调研的过程中,发现已有的成熟技术只能满足我们的部分需求,相信大家也有这样的困惑,本文分享的是来 ...
- Java内存优化和性能优化的几点建议
doc 阅读下载 1.没有必要时请不用使用静态变量 使用Java的开发者都知道,当某个对象被定义为stataic变量所引用,这个对象所占有的内存将不会被回收.有时,开发者会将经常调用的对象或者变量定义 ...
- 查看linux内存优化,Linux性能优化和监控系列(三) 分析Memory使用状况
Linux性能优化和监控系列(三) 分析Mem 分析Memory使用状况 内存是影响服务器性能的一个主要因素, 当进程已经驻留内存或者系能够分配给进程足够的内存给它, CPU能顺利自如的运行. 如果发 ...
- redmine mysql 优化_Redmine性能优化方案
redmine服务器性能问题排查与优化建议: 以下建议的方案是基于redmine运行期的log文件中的render耗时.activerecord耗时,linux系统性能指标采样与 mysql 性能指标 ...
- mysql 8 配置参数优化_MySQL性能优化之参数配置
1.目的: 通过根据服务器目前状况,修改Mysql的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能. 2.服务器参数: 32G内存.4个CPU,每个CPU 8核. 3.MySQL目 ...
最新文章
- IC/FPGA校招笔试题分析(三)
- 使用 Application Developer V7 来创建和部署 JSR 168 协作 portlet
- linux按进程分配物理内存,linux下内存管理学习心得(一)
- 深入理解移动开发的模板复用机制
- 摩托罗拉SE4500 德州仪器TI Omap37xx/AM3715/DM3730/AM3530 wince6.0/Windows Mobile 6.5平台 二维软解调试记录及相关解释
- 个人作业-Week2
- JS高级 - 面向对象3(面向过程改写面向对象)
- LeetCode 1027. 最长等差数列(DP)
- 基于Tensorflow实现DeepFM
- [转] Tomcat 系统架构与设计模式,第 1 部分: 工作原理
- 动态规划——最长公共子序列
- mysql主从同步问题_mysql主从同步问题整理
- 全国大学生电子设计竞赛综合测评硬件调试经验
- (九) LBP特征提取
- 【CAR笔记2】IGBT相关知识
- 吕林涛计算机网络知识点,计算机网络——习题与解析
- [xsy2123]毛毛虫
- 快速搭建静态网站生成器
- 【OpenCall】ICASSP2023通用会议理解及生成挑战赛邀请函
- 第1章 计算机系统漫游