apache网站访问慢的实践处理过程

简介:

一、故障描述

    客户业务是基于LAMP架构的php站点,由于每秒钟访问量在230左右,导致了用户的网站访问很缓慢,打开时间在11秒左右,严重影响了业务和客户体验度。

二、排查过程

2.1 从服务器系统方面考虑:CPU、内存、IO、网络等综合查看都很正常;

2.2 从数据库方面排查:数据库压力不大,运行正常;

2.3 查看apache的进程数75个,显然和现在的并发量相差很大,解决方法就是调整apache的进程数。

三、处理过程

3.1 首先了解Apache采用的MPM(Multi -Processing Modules,多道处理模块)

    MPM是Apache的核心,它的作用是管理网络连接、调度请求。Apache2.0中MPM有3种类型,分别为perfork、worker和event:

A.perfork从Apache1.3中继承下来的,它采用的是进程管理方式,可以提供更可靠的性能和更好的兼容性;

B.worker是Apache2.0中新增加的方式,它采用了线程控制方法,可以比perfork更节约系统开销、处理更多的数据量,但同时兼容性并不是很好,很多旧的程序无法工作在worke下;

C.event仍处于试验阶段,它为每个任务分配不同的进程池,目前不应该采用。

3.2 通过命令 httpd -l 可以获取目前Apache采用的是perfork MPM模式

[root@localhost apache]# httpd -l

Compiled in modules:

      core.c

      prefork.c

      http_core.c

      mod_so.c

3.3 修改配置文件httpd-mpm.conf重要参数

%E8%AE%BF%E9%97%AE%E6%85%A2.png?version=

    重启httpd 但是查看了配置不生效,经过查看日志错误:

WARNING: MaxClients of 1500 exceeds ServerLimit value of 256 servers,

 lowering MaxClients to 256.  To increase, please see the ServerLimit

 directive.

[Fri Dec 29 02:55:50 2006] [warn] WARNING: Attempt to change ServerLimit ignored during restart

[Fri Dec 29 02:55:50 2006] [notice] Apache configured -- resuming normal operations

3.4 针对日志添加了ServerLimit和ThreadLimit这两个指令

vim httpd-mpm.conf

ServerLimit 768

MaxClients 768

    具体参数大小衡量参考http://blog.csdn.net/huoyunshen88/article/details/34105561

3.5 停止服务器再重启配置生效

    ServerLimit和ThreadLimit这两个指令决定了活动子进程数量和每个子进程中线程数量的硬限制。要想改变这个硬限制必须完全停止服务器然后再启动服务器。

四、故障总结

    之前看到很多apache针对StartServers、MinSpareServers、MaxSpareServers等优化的文章,而少有在生产环境中针对apache高并发的优化,这次的故障解决让我感觉实践出真理。




本文转自 freeterman 51CTO博客,原文链接:http://blog.51cto.com/myunix/1975537,如需转载请自行联系原作者

相关文章
|
5月前
|
存储 消息中间件 Java
Apache Flink 实践问题之原生TM UI日志问题如何解决
Apache Flink 实践问题之原生TM UI日志问题如何解决
55 1
|
2月前
|
消息中间件 存储 监控
构建高可用性Apache Kafka集群:从理论到实践
【10月更文挑战第24天】随着大数据时代的到来,数据传输与处理的需求日益增长。Apache Kafka作为一个高性能的消息队列服务,因其出色的吞吐量、可扩展性和容错能力而受到广泛欢迎。然而,在构建大规模生产环境下的Kafka集群时,保证其高可用性是至关重要的。本文将从个人实践经验出发,详细介绍如何构建一个高可用性的Kafka集群,包括集群规划、节点配置以及故障恢复机制等方面。
126 4
|
2天前
|
存储 运维 监控
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
中信银行信用卡中心每日新增日志数据 140 亿条(80TB),全量归档日志量超 40PB,早期基于 Elasticsearch 构建的日志云平台,面临存储成本高、实时写入性能差、文本检索慢以及日志分析能力不足等问题。因此使用 Apache Doris 替换 Elasticsearch,实现资源投入降低 50%、查询速度提升 2~4 倍,同时显著提高了运维效率。
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
|
5月前
|
消息中间件 分布式计算 Hadoop
Apache Flink 实践问题之Flume与Hadoop之间的物理墙问题如何解决
Apache Flink 实践问题之Flume与Hadoop之间的物理墙问题如何解决
73 3
|
5月前
|
消息中间件 运维 Kafka
Apache Flink 实践问题之达到网卡的最大速度如何解决
Apache Flink 实践问题之达到网卡的最大速度如何解决
66 2
|
2月前
|
存储 数据挖掘 数据处理
巴别时代使用 Apache Paimon 构建 Streaming Lakehouse 的实践
随着数据湖技术的发展,企业纷纷探索其优化潜力。本文分享了巴别时代使用 Apache Paimon 构建 Streaming Lakehouse 的实践。Paimon 支持流式和批处理,提供高性能、统一的数据访问和流批一体的优势。通过示例代码和实践经验,展示了如何高效处理实时数据,解决了数据一致性和故障恢复等挑战。
140 61
|
2月前
|
存储 消息中间件 分布式计算
Cisco WebEx 数据平台:统一 Trino、Pinot、Iceberg 及 Kyuubi,探索 Apache Doris 在 Cisco 的改造实践
Cisco WebEx 早期数据平台采用了多系统架构(包括 Trino、Pinot、Iceberg 、 Kyuubi 等),面临架构复杂、数据冗余存储、运维困难、资源利用率低、数据时效性差等问题。因此,引入 Apache Doris 替换了 Trino、Pinot 、 Iceberg 及 Kyuubi 技术栈,依赖于 Doris 的实时数据湖能力及高性能 OLAP 分析能力,统一数据湖仓及查询分析引擎,显著提升了查询性能及系统稳定性,同时实现资源成本降低 30%。
Cisco WebEx 数据平台:统一 Trino、Pinot、Iceberg 及 Kyuubi,探索 Apache Doris 在 Cisco 的改造实践
|
3月前
|
存储 小程序 Apache
10月26日@杭州,飞轮科技 x 阿里云举办 Apache Doris Meetup,探索保险、游戏、制造及电信领域数据仓库建设实践
10月26日,由飞轮科技与阿里云联手发起的 Apache Doris 杭州站 Meetup 即将开启!
86 0
|
5月前
|
存储 分布式计算 物联网
Apache IoTDB进行IoT相关开发实践
当今社会,物联网技术的发展带来了许多繁琐的挑战,尤其是在数据库管理系统领域,比如实时整合海量数据、处理流中的事件以及处理数据的安全性。例如,应用于智能城市的基于物联网的交通传感器可以实时生成大量的交通数据。据估计,未来5年,物联网设备的数量将达数万亿。物联网产生大量的数据,包括流数据、时间序列数据、RFID数据、传感数据等。要有效地管理这些数据,就需要使用数据库。数据库在充分处理物联网数据方面扮演着非常重要的角色。因此,适当的数据库与适当的平台同等重要。由于物联网在世界上不同的环境中运行,选择合适的数据库变得非常重要。 原创文字,IoTDB 社区可进行使用与传播 一、什么是IoTDB 我
216 9
Apache IoTDB进行IoT相关开发实践
|
5月前
|
SQL 运维 分布式计算
Apache Flink 实践问题之避免用户作业包中包含Flink的core包如何解决
Apache Flink 实践问题之避免用户作业包中包含Flink的core包如何解决
60 1
Apache Flink 实践问题之避免用户作业包中包含Flink的core包如何解决

热门文章

最新文章

推荐镜像

更多