1g内存服务器Apache怎么优化,Apache性能优化-解决吃内存的问题 | kTWO-个人博客

89ce60841da503ee238ea69f0faf60cc.gif

虽然现在已经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

问题解决了,时间也不早了,睡觉喽。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值