当前位置: 首页 > news >正文

apache内存优化

apache 内存不释放原因

MaxRequestsPerChild这个参数是说,apache进程在处理了多少个请求之后,必须退出,重新开始,以免在处理中的内存问题。对于php脚本来说,把这个参数设置的小一些是有好处的,可以避免程序使用的内存持续增长对apache带来的压力:让这个参数定期释放内存,因为php是在脚本执行完毕后,自动释放只用的资源(内存)的。比如设置为50?如果太小的话,重新产生一个apache进程也是要消耗资源的,这是一个平衡问题。

 

apache的主流工作模式MPM模式。MPM是Multi-Processing-Modules的简称,意思是多道处理模块。MPM模块有不同的种类。现在用的比较多的MPM种类主要是prefork和worker。prefork的工作方式是多个进程工作,每个进程会在处理一定数量的请求后结束(这个数量可能是无穷),没有线程的概念。worker被看作apache未来的主流工作模式,它是一种多进程与多线程混合的模式。总的来说,prefork方式速度要稍高于worker,然而它需要的cpu和memory资源也稍多于woker。

 

修改配置文件来解决

找到 MaxClients, 可能有多个. 改为7

找到 MinSpareServers, 改为 MaxClients 的 10-25%, 7 * 0.25 ≈ 2

找到 MaxSpareServers, 改为 MaxClients 的 25-50%, 7 * 0.5 ≈ 4

找到 StartServers, 设置为 MinSpareServers 或 MaxSpareServers 的值

找到 MaxRequestsPerChild, 改为1000, 小于1000的不用改

prefork 控制进程在最初建立“StartServers”个子进程后,为了满足MinSpareServers设置的需要创建一个进程,等待一秒钟,继续创建两个,再等待一秒钟,继续创建四个……如此按指数级增加创建的进程数,最多达到每秒32个,直到满足MinSpareServers设置的值为止。这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销以增加性能。

保存,重启 httpd

 

apache性能测试

Apache服务器自带有一个叫AB(ApacheBench)的工具,在bin目录下。ab可以针对某个特定的 URL 仿真出连续的联机请求,同时还可以仿真出同时间点数个相同的联机请求,因此利用 ApacheBench 可帮助我们在网站开发期间仿真实际上线可能的情况,利用仿真出来的数据作为调整服务器设定或程序的依据。

抓猫wifi社区提供

转载于:https://www.cnblogs.com/solitaryman/articles/4090402.html

相关文章:

  • 此类目的是防治序列化Json字符串时的循环引用问题-------最好解决方案
  • Spring AOP 实现业务日志记录 (注解)
  • 必须知道的SQL编写技巧,多条件查询不拼字符串的写法
  • Mysql高级之权限检查原理
  • 我见过的 Objective-C, 讲的最通俗易懂的入门教程....
  • 数据结构概述
  • 关于与产品相关的品牌、国藉等与产品质量的一些思考(转)
  • centOS下安装JDK
  • 网络安全系列之四十七 在IIS6中申请并安装证书
  • 使用jQuery.FileUpload和Backload自定义控制器上传多个文件
  • 从零开始iOS8编程【HelloWorld】
  • 微软职位内部推荐-SDEII for Windows Phone Apps
  • 关于PCB 3D 模型的快速导入方法
  • FreeSWITCH在呼叫失败的情况下播放语音提示
  • STL容器的使用
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • Android 架构优化~MVP 架构改造
  • canvas 高仿 Apple Watch 表盘
  • Elasticsearch 参考指南(升级前重新索引)
  • gitlab-ci配置详解(一)
  • js中forEach回调同异步问题
  • Vue2 SSR 的优化之旅
  • 猴子数据域名防封接口降低小说被封的风险
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 使用Swoole加速Laravel(正式环境中)
  • 带你开发类似Pokemon Go的AR游戏
  • ​【已解决】npm install​卡主不动的情况
  • # include “ “ 和 # include < >两者的区别
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (13)Hive调优——动态分区导致的小文件问题
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (ZT)一个美国文科博士的YardLife
  • (差分)胡桃爱原石
  • (二)springcloud实战之config配置中心
  • (二)windows配置JDK环境
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (四)汇编语言——简单程序
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .net 中viewstate的原理和使用
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • ::
  • @31省区市高考时间表来了,祝考试成功
  • @configuration注解_2w字长文给你讲透了配置类为什么要添加 @Configuration注解
  • @EnableWebMvc介绍和使用详细demo
  • [ vulhub漏洞复现篇 ] AppWeb认证绕过漏洞(CVE-2018-8715)
  • [1159]adb判断手机屏幕状态并点亮屏幕
  • [120_移动开发Android]008_android开发之Pull操作xml文件
  • [ABP实战开源项目]---ABP实时服务-通知系统.发布模式
  • [Android Pro] Notification的使用
  • [Android] Implementation vs API dependency
  • [android] 切换界面的通用处理