优化Apache,提高并发

2023-05-16

http://www.yuansir-web.com/2011/10/24/%E4%BC%98%E5%8C%96apache%EF%BC%8C%E6%8F%90%E9%AB%98%E5%B9%B6%E5%8F%91/


Apache 配置:

1. 模拟并发访问
ab -n 100000 -c 1000 -k http://weibo.cnsuning.com/index.php
在其它机器启动测试程序,也可以使用其它性能更强的并发测试工具

2. 检测HTTPD连接数:
watch -n 1 -d “pgrep httpd|wc -l”

3. 确定工作模式 prefork / worker
httpd -l

4. 并发参数设置

# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# ServerLimit: maximum value for MaxClients for the lifetime of the server
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule prefork.c>
StartServers       8
MinSpareServers    32
MaxSpareServers   64
ServerLimit      10240
MaxClients       10000
MaxRequestsPerChild  10000
</IfModule>

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

MaxSpareServers设置了最大的空闲进程数,如果空闲进程数大于这个值,apache会自动kill掉一些多余进程。
这个值不要设得过大,但如果设的值比MinSpareServers小,apache会自动把其调整为MinSpareServers+ 1。
如果站点负载较大,可考虑同时加大MinSpareServers和MaxSpareServers。

MaxRequestsPerChild设置的是每个子进程可处理的请求数。
每个子进程在处理了”MaxRequestsPerChild” 个请求后将自动销毁。
0意味着无限,即子进程永不销毁。虽然缺省设为0可以使每个子进程处理更多的请求,但如果设成非零值也有两点重要的好处:
可防止意外的内存泄漏;在服务器负载下降的时侯会自动减少子进程数。
因此,可根据服务器的负载来调整这个值。但也不能太小,不然系统不断的开启新的apache进程,造成资源浪费。

MaxClients是这些指令中最为重要的一个,设定的是apache可以同时处理的请求,是对apache性能影响最大的参数。
其缺省值 150是远远不够的,如果请求总数已达到这个值(可通过ps -ef|grep http|wc -l来确认),那么后面的请求就要排队,直到某个已处理请求完毕。
这就是系统资源还剩下很多而http访问却很慢的主要原因。

5. 其它参数设置

ServerTokens Prod – 隐藏服务器版本信息,只显示 apache

ServerSignature Off

HostnameLookups Off

Timeout 5 – 请求超时时间

KeepAlive On

KeepAliveTimeout 5

MaxKeepAliveRequests 100

6. 关闭不需要的模块
注释掉加载该模块,及相关配置项


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

优化Apache,提高并发 的相关文章

  • 使用 Nginx 或 Apache 来提供动态内容? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 Ubuntu 11 上的 Apache 2 上使用 virtualenv 的多个 Django 应用程序

    我已经使用以下命令成功设置了一个 Django 应用程序virtualenv在 Ubuntu 和 Apache 2 上 使用WSGIPythonHome指令指向我的virtualenv地点 现在我需要创建一个单独的 Django 应用程序
  • 配置 shiro.ini 以进行 JDBC 连接

    作为我新的一年学习新技术计划的一部分 我开始尝试使用 Apache Shiro 安全框架 我设法让基本示例正常工作 该示例将用户名 密码和角色存储在 shiro ini 文件中 但是当我修改 shiro ini 文件以使用 JDBC 时 它
  • 仅当未找到文件时才重定向请求?

    我希望有一种方法可以使用 mod rewrite 和 Apache 来做到这一点 但也许还有另一种方法可以考虑 在我的网站上 我为客户的网站重新设计版本设置了目录 如果网络根目录是 home blah www 客户端目录将是 home bl
  • htaccess - XAMPP 上的互联网服务器错误 500 [已关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我尝试在 XAMPP 上运行脚本 但收到 互联网服务器错误 500 在实时服务器上运行时效果很好 我认为这是一个 htaccess 错误 htacce
  • PHP 强制 Apache 错误

    感谢这个论坛 我了解到 PHP header 函数实际上并不将 header 发送到 Apache 服务器 而只发送到客户端 我想要做的是生成错误 500 并让 Apache 显示其相应的页面 有办法强制吗 提前致谢 还有 Allez le
  • Http POST 删除 URL 中的端口

    我有一个用 Django 构建的网络应用程序 我目前正在家里的路由器后面的笔记本电脑上运行它 我将路由器配置为将发送到特定端口的所有流量路由到该笔记本电脑 我将 Nginx 作为 Apache 的反向代理 使用 mod wsgi 来运行 D
  • Apache mod_speling 不区分大小写的 URL 问题

    我想要使 用 Apache 的不区分大小写的 URLmod speling模块 但这会产生不需要的 多个选项 列表 而 Apache 文档说 设置后 该指令将拼写更正的操作限制为小写 大写更改 不执行其他可能的更正 我正在全新安装的 Apa
  • 创建动态子域

    自从我考虑一些网站正在实施的此功能以来已经有一段时间了 它看起来非常成功 类似的网站tumblr com blogger com wordpress com允许用户使用简单的 HTML PHP 表单从网站内注册新的子域名 以我目前对 PHP
  • 仅当环境变量具有特定值时如何设置 Apache 标头

    我想在我的 Apache 2 4 配置中设置标头 但前提是环境变量具有特定值 SetEnv ENV NAME prod 我如何仅在以下情况下设置此标头ENV NAME is not prod Header set X Robots Tag
  • 间歇性 PHP 抽象类错误

    我已经为此奋斗了一段时间 但无法弄清楚 也许其他人也有 或者 Slim PHP Apache 等这里有更深层次的问题 在正常工作几个小时后 我的 Slim 安装将开始给出所有路线均如此 致命错误 类 Slim Collection 包含 1
  • 服务器响应中的“连接:保持活动状态”

    我正在尝试建立从 Silverlight 应用程序到 Apache 服务器托管的 PHP 页面的 HTTP 持久连接 即无需为每个 HTTP 请求创建新的 TCP 连接 为此 我需要网络服务器发送其 HTTP 响应 并将 Connectio
  • AH10411 错误:在 apache mod_rewrite 中管理空格和 %20

    我今天更新了 Apache 到 2 4 56 1 并且加载了 htaccess过去有效的重写现在出现了 AH10411 错误 与查询中的空格有关 我正在努力寻找 适当 的解决方案 用户单击一个链接 例如 a href FISH 20J123
  • 从子目录文件夹中删除尾部斜杠 Apache 1.3.42 DirectorySlash Off .htaccess

    我正在尝试从 Apache 1 3 42 中的子目录文件夹中删除尾部斜杠 但是命令DirectorySlash Off当我尝试将规则添加到我的 Apache 版本时 不支持 htaccess file 目前我的链接行为如下 www exam
  • 如何在MAMP中设置环境变量?

    如何在 MAMP 版本 3 3 中设置环境变量 我可以在我的 PHP 应用程序中使用它 我已经更新了 Applications MAMP Library bin envvars and envvars std file并添加以下行 Lice
  • apache htaccess 将第一个段映射为参数而不干扰其他参数

    这可能是一个经典的 htaccess 问题 但我仍然找不到适合我的具体情况的问题 这是closest https stackoverflow com questions 9299793 apache httaccess rewriting我
  • 带有 LDAP 身份验证的 SVN 不起作用

    我首先从我的设置开始 为此我们有 2 台服务器 Server1 将用于所有源代码 文件等 在 Server2 上 我们拥有所有用户信息和登录信息 两台服务器都运行在 Centos 6 4 上 现在我们要在 server1 上设置一个 SVN
  • 显式删除会话cookie会产生什么影响?

    我使用 php session 来维护用户的会话 Session 在登录后创建 在注销或超时后销毁 我需要管理面板中的一个选项来强制注销任何用户 如果他在网站上处于活动状态 我怎样才能做到这一点 我正在考虑删除临时会话文件 这应该有效地破坏
  • 仅第一个加载的 Django 站点有效

    我最近向 stackoverflow 提交了一个问题 标题为使用mod wsgi在apache上多次请求后Django无限加载 https stackoverflow com questions 71705909 django infini
  • 用于网络服务器日志分析的软件? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我可以得到一些关于 Apache 2 2 访问日志文件的优秀日志分析软件的建议 最好有一些理由 吗 我听说过韦巴利泽 http www w

随机推荐

  • 如何学习技术?

    http blog csdn net heiyeshuwu article details 6920880 文章来自baidu NY 同学的邮件 xff0c 整理发出 1 想学的技术非常多 xff0c 该怎么办 xff1f 区分重点 xff
  • 终于等到你!2020年电子设计竞赛来了!

    刚刚 xff0c TI官方发布了电赛的通知 xff0c 如下 关于支持合作赛区 举办2020年TI杯 省级大学生电子设计竞赛的通知 根据部分合作赛区的要求和倡议 xff0c TI从2008年开始支持合作赛区举办TI杯省级大学生电子设计竞赛
  • mysql导入数据时的外键约束问题

    当导入数据的时候 xff0c 经常会出现报告外键错误 xff0c 这是由于table中有外键约束 xff0c 但导入数据时数据可能还没完整 xff0c 所以会出现这样的错误 这个问题可通过FOREIGN KEY CHECKS解决 xff0c
  • Ubuntu7.10 vi/vim搭建超级c/c++编程环境

    http blog chinaunix net u 30958 showart 507405 html 在没有怎么太深的接触vi vim之前 xff0c 也曾经搞不懂为什么有好多linux下的程序员说vi vim是个超级的代码编辑器或者编译
  • Vim 复制粘贴探秘

    http www cnblogs com mo beifeng archive 2011 09 07 2170011 html Vim作为最好用的文本编辑器之一 xff0c 使用vim来编文档 xff0c 写代码实在是很惬意的事情 每当学会
  • mysql developer 知识结构思维导图(多图 )

    通过了Sun Certified MySQL Developer SCMDEV xff0c 最大的感触就是对mysql的知识进行了一次全面的梳理 xff0c 而且狠狠地画了N张思维导图 xff0c 过了一把瘾 注意 xff1a 有可能在浏览
  • mysql性能的检查和调优方法

    来源 xff1a http www sudone com linux mysql debug html 我一直是使用mysql这个数据库软件 xff0c 它工作比较稳定 xff0c 效率也很高 在遇到严重性能问题时 xff0c 一般都有这么
  • gvim中文乱码解决方案

    http www cnblogs com login007 archive 2011 09 14 2176764 html 这东西没必要记在脑子里面 xff0c 还是贴这里备用把 set fileencodings 61 utf 8 gb2
  • magento中单例模式的变形实现

    单例模式确保某一个类只有一个实例 xff0c 而且自行实例化并向整个系统提供这个实例 这个类称为单例类 单例模式的要点有三个 xff1b 一是某个类只能有一个实例 xff1b 二是它必须自行创建这个实例 xff1b 三是它必须自行向整个系统
  • Linux下chkconfig命令详解

    http www cnblogs com panjun Donet archive 2010 08 10 1796873 html chkconfig命令主要用来更新 xff08 启动或停止 xff09 和查询系统服务的运行级信息 谨记ch
  • VIM常用命令

    http bbs phpchina com thread 123131 1 1 html 常用的命令 xff1a d0 表示删除从当前光标到光标所在行首的内容 y 表示拷贝从当前光标到光标所在行尾的内容 d 表示删除从当前光标到光标所在行尾
  • C语言程序的内存布局

    http www cnblogs com chenyadong archive 2011 11 28 2266506 html C语言程序的内存布局 一 xff1a C语言程序的存储区域 C语言编写的程序经过编绎 链接后 xff0c 将形成
  • STM32学了很久,我还是不会做项目。

    关注 星标公众号 xff0c 不错过精彩内容 素材来源 xff1a 知乎 编辑整理 xff1a 张巧龙 知乎有人问 xff1a Stm32学了好久了 xff0c 感觉独立做项目还是有力不从心的感觉 从51开始学习 xff0c 到stm32
  • Gvim的字体、颜色、背景设置

    http apps hi baidu com share detail 5348127 很多朋友在使用Linux文本编辑器Gvim的时候 xff0c 遇到这样的问题 xff0c 字体太小 xff0c 或者想还一种自己个喜欢的字体 这可通过e
  • magento负载均衡使用同一个数据库的方法

    在magento的负载均衡策略中 xff0c 其中一个方法是有多台服务来跑同一份代码 xff0c 使用同一个数据库 例如 xff0c 有一台服务器A xff0c 网址是www a com xff0c 另外一台服务器B xff0c 网址是ww
  • 25个Apache性能优化技巧推荐

    http www php100 com html webkaifa apache 2011 0708 8411 html Apache 至今仍处于web服务器领域的霸主 xff0c 无人撼动 xff0c 没有开发者不知道 本篇文章介绍25个
  • Ubuntu 10.04 10.10 11.04 9.10 9.04 中文字体美化——安装雅黑

    http os 51cto com art 201109 288883 htm 刚接触Ubuntu xff0c 可能会觉得那中文字体怪怪的 xff0c 看着不顺眼 xff0c 没关系 xff0c 可以换成你看着顺眼的 xff08 伪Linu
  • 高级应用Magento-订单创建流程及程序代码

    出处 xff1a http www wemvc com 1606 html 老规矩 xff0c 直接看代码吧 下面的代码是如何通过程序创建一个完美订单 lt php require once 39 app Mage php 39 Mage
  • 精通递归程序设计

    http www ibm com developerworks cn linux l recurs html 计算机科学的新学生通常难以理解递归程序设计的概念 递归思想之所以困难 xff0c 原因在于它非常像是循环推理 xff08 circ
  • 优化Apache,提高并发

    http www yuansir web com 2011 10 24 E4 BC 98 E5 8C 96apache EF BC 8C E6 8F 90 E9 AB 98 E5 B9 B6 E5 8F 91 Apache 配置 xff1a