中间件监控之Apache

补 系统架构

nginx接到请求后转换为外部ip,然后把请求转发到tomcat,还有种方式是转发到apache,或者其他语言的应用服务器

ngnix:是web服务器,接受和转发请求用的,不做任何动态处理

浏览器直接请求cdn(有钱用cdn,没钱用文件服务器);

Cdn   内容分发网络 全称是Content Delivery Network

面试:Cdn 的时间算法,基于什么的算法

mysql:数据库服务器

redis:

集群:多台机器,放一起,请求的时候如果有一个挂了,不影响正常使用,个数是单数,一个leader,多个follower,半数挂了集群就挂了

消息队列:发个东西过去,排队,第一个人发了第二个发,这个顺序是按接收到的时间

kafka,ZK(zookeeper):一说这两个肯定是集群

日志分析:需要用到awk,grep,sed

确定性能指标:日志查看了解pv

PV:page view,页面浏览量或点击量,刷新一次页面即被计算一次,简称PV,

UV:即Unique Visitor,访问您网站的一台电脑客户端为一个访客。00:00-24:00内相同的客户端只被计算一次

IP(独立IP):指独立IP数。00:00-24:00内相同IP地址之被计算一次

KLE、 Maven  自己了解

面试题:大数据迁移怎么迁移,比如你服务器上有一个10个g的日志文件,你怎么去迁移

传之前   校验MD5  确保传过去的数据一致

保证完整性

根据网络传输效率,考虑怎么分片  服务器直接用scp  命令

传输完成后校验MD5  然后再组装

存储分片  多线程

速度快,安全系数高

所有的文件都是二进制形式保存,取决于你以什么形式打开

利用分片传输+多线程传输的机制

1.分片,把大内存的数据分成n片

2.md5 算法校验,在传输前传输后分别校验,检查文件传输正确性

3.多线程传,使用时间为单线程的n分之一

https://blog.csdn.net/ltx06/article/details/70162107

一、Apache

1、Apache 简介

Apache HTTP Server  是一个开源的web 服务器,具有简单、速度快、稳定性高的特点,并且还可以作为代理服务器

2、Apache 安装

如果需要集成php  用lampp  集成包

Find  / -name httpd  查找命令   /  根目录下的所有路径  -name  通过名字

Find / |grep httpd  模糊查找

A,使用yum安装

Yum  安装

apache  /etc/httpd  配置文件 为 httpd.conf  可执行文件

/usr/sbin/httpd  启动apache   service httpd start|restart|stop (yum 安装会作为一个系统服务)

B,使用安装包安装

C,Lampp  自带的httpd

bin 目录所有可执行文件

/opt/lampp/etc   lampp 配置文件

/opt/lampp/etc/extra  扩展的配置文件

查看Apache 版本:

/opt/lampp/bin/httpd -v 查看apache 版本

/usr/sbin/httpd -V  查看你安装的apache的版本信息等细节

配置文件 :/opt/lampp/etc/httpd.conf
                 /etc/httpd/conf/httpd.conf

配置文件常见修改的地方:

ServerRoot "/opt/lampp"

Listen  监听 直接提供端口
 Listen 9090

3、Apache 主要目录和配置文件

命令:

配置文件 :/opt/lampp/etc/httpd.conf
                 /etc/httpd/conf/httpd.conf

查看进程

ps -ef       ps  -aux 

ps -ef

Root  用户启动主进程的同时会启动一些子进程

所以  部署php项目,将项目放到/opt/lamp/htdocs该目录下

Php  项目都是热启动   项目不停止运行

1、拉代码

2、修改配置文件

部署好bbs后有一个初始化用户名密码:

其实修改的是下面文件

Apache 扩展文件

重点:Apache  工作模式

用的系统的apache  /opt/lampp/etc/extra  下的httpd-mpm.conf

web 服务器Apache 目前一共有三种稳定的MPM(Multi -Processing Module,多进程处理模块)模式。它们分别是prefork ,worker和event

查看当前工作模式

/opt/lampp/bin/httpd -v 查看apache 版本

/usr/sbin/httpd -V  查看你安装的apache的版本信息等细节

中Server  MPM  字段

1、Prefork  模式   单进程单线程,一对一

Prefork MPM是一个非常稳定的模式,Apache 在启动之初,会预派生fork 一些子进程,然后等待请求进来,并且总会保持一些备用的子进程。

同时派生出的每个子进程只有一个线程,在一个时间点内只能处理一个请求。Prefork MPM在效率上要比Worker MPM高,但是在内存使用方面也会大很多。

它并不擅长处理高并发请求,在这种场景下,它会将请求放进队列中,一直等到有可用进程,请求才会被处理。

参数详解:

StartServers  //指定服务器启动时建立的子进程数,默认为5

MinSpareServers //指定空闲子进程的最小数量,默认为5.如果当前空闲子进程数小于配置的数量则Apache会以最大每秒一个的速度创建新的子进程

MaxSpareServers  //指定空闲子进程的最大数量,默认为10.如果当前有超过设置的最大进程数则会杀死多余的进程,如果设置的比MinSpareServers 小,则Apache会默认修改为MinSpareServers +1

MaxRequestWorkers  //限定服务器同一时间内客户端最大接入的请求数量,默认是150.任何超过了该限制的请求都要进入等待队列,

一旦一个个连接被释放,队列中的请求才将得到服务。在Apache2.3 前又叫MaxClients

MaxConnectionsPerChild  //每个子进程的在其生命周期内允许最大的请求数量,如果请求总数已经达到这个数值,子进程将会结束;

如果设置为0,子进程将永远不会结束。若该值设置为非0值,可以防止运行PHP导致的内存泄漏。

ServerLimit 2000          //MaxRequestWorkers(MaxClitnes)最大是256个线程,如果需要更大就需要加上该参数了。

这个参数的最大值是2000,如果需要更大需要编译apache。生效前提:必须放在其他指令的前面

进程数与cpu  有关   不可能全部占满、

思考:那要是避免排队的情况 可以直接改 prefork的数值吗?

2、Aache工作模式-Work模式   单进程,多线程   一对多

参数详解:

StartServers  //服务器启动时创建的子进程数

MaxClients   //

MinSpareThreads   //最小空闲线程数,这个MPM将基于整个服务器监控空闲线程数。假如服务器中的空闲线程数太少,则将会创建新的空闲线程

MaxSpareThreads   //最大空闲线程数。这个MPM将基于整个服务器监控空闲线程数。假如服务器中的总的空闲线程数太多,子进程将杀死多余的空闲线程。最大

空闲线程数的取值范围是有限制的。Work 需要其大于等于MinSpareThreads  和ThreadsPerChild 的总和

ThreadsPerChild   //每个子进程建立的常驻执行线程数,子进程在启动时建立这些线程后就不会再建立新线程了

MaxRequestsPerChild   //允许同时伺服的最大接入请求数量。任何超过该限制的请求都将进入等候队列

每个进程能处理多少个请求,处理完成后则会死掉

思考:现有如下配置

<IfModule worker.c>

StartServers         4

MaxClients         300

MinSpareThreads     25

MaxSpareThreads     75

ThreadsPerChild     25    固定为25不可变

MaxRequestsPerChild  0       每个进程能处理多少个请求,处理完成后则会死掉

</IfModule>

4个进程 每个进程允许25个线程   总共100个  不符合maxsparethreads 75

则会杀掉一个进程   则代表一次性杀掉了25个线程
 符合maxsparethreads

在25 ~ 75 之间

如果不满足最小的minsparethreads
25 则会创建一个进程

Work  模式不安全  一个进程死掉后子线程全部被杀掉

3、Apache工作模式-Event模式  (具体参考ppt)

Apache  工作模式切换

切换工作模式   修改文件名即可 默认是prefork

举例说明:把这个改为httpd名,工作模式变为work

重点:Apache 监控

一、如何获取apache监控参数

Vi  /etc/httpd/conf/httpd.conf

重启apache

浏览器输入:http://ip/server-status

Apache  优化

面试:怎么去apache调优?

优化手段就是把prefork改为woker,提高支持的线程数

worker有可能崩

根据实际使用情况,评估下压力情况,使用者,开看工作模式是哪个

总之,apache是世界上最好的web服务器

原文地址:https://www.cnblogs.com/chendai21/p/9522796.html

时间: 2024-11-13 10:40:31

中间件监控之Apache的相关文章

zabbix添加nginx中间件监控

1.安装zabbix_agent,安装完成后会自动将脚本放在/usr/local/zabbix/scripts目录下 2. 找到并打开 vim  monitor_nginx.sh脚本,如下图中的HOST是获取当前主机的IP信息,可以使用sh /usr/local/zabbix/scripts/monitor_nginx.sh  active 命令进行测试,如果有返回值,说明能正常获取IP 如果无返回值,则可以直接把IP填入HOST 3.用  curl http://127.0.0.1/Nstat

智慧城市实践:乐维监控助力某智慧新区IT运维升级

项目背景 随着计算机技术和互联网.物联网的发展以及信息化的普及与应用,我国智慧城市建设脚步加快,随之带来IT管理复杂度增加,IT运维智能化需求迫切.传统的局部.粗放.碎片化的IT运维管理模式已经无法满足信息化应用场景的实际需要,IT运维必须向自动化.全面化.流程化.便捷模式转变.构建一站式监控平台,降低集成系统运维风险和提高故障响应和处理效率则成为物联网应用基础架构升级.自动化转型的战略刚需. 相对其他行业来说,物联网智慧城市应用因为信息资源整合程度高,系统数据安全级别高,权限管理重叠交叉,海量

监控分析——Web中间件

中间件监控看是否有性能瓶颈 核心:主要看中间件的线性池进程池有没有排队情况,请求是否处理及时就OK Apache 以前php都是用apache,现在基本用nginx了. 首先自己启动apache,它的工程路径在/var/www/下面 1 # ps -ef|grep httpd 2 root 1319 1 0 00:42 ? 00:00:00 /usr/sbin/httpd 3 apache 1335 1319 0 00:42 ? 00:00:00 /usr/sbin/httpd 4 apache

web中间件之apache

一.常见的web中间件(web容器) https://www.jianshu.com/p/1e82b7a18866 apache tomcat(springboot内置) Jboss Web Logic lammp=linux+apache+mysql+php+pel 为什么要监控web中间件?? 中间件监控看是否有性能瓶颈 核心:主要看中间件的线性池进程池有没有排队情况,请求是否处理及时就OK 二.apache Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计

通过Centreon监控apache、MySQL、Hadoop服务状态

在上面的章节中,只是简单介绍了Centreon的几个基础监控项,例如添加主机.服务等,这些对于一个监控系统来说是远远不够的,本节将重点介绍对一些扩展服务的监控,也就是对一些常见应用的监控. 一. Nagios/centreon插件编写规范 作为运维人员,相信大家对脚本并不陌生,而Nagios插件就是可执行的一个脚本或程序,这个脚本可以用各种语言去实现,例如shell.perl.python都可以.对Nagios熟悉的读者肯定也编写过不少Nagios插件,虽然Nagios自带了很多常用的监控插件,

常见的中间件有哪些

一般本地开发的话建议使用tomcat.linux系统建议使用jetty或apache hpptd大型的项目就用JBOSS或webloigc 小项目,或者是个人开发tomcat 大项目或者商业项目一般采用:weblgoic/webshere其他的还有jboss.glasshfish等一些示例项目或者小项目常采用jetty tomcat , jboss, weblogic, websphere 一般项目tomcat就可以了 Tomcat是Sun的JSWDK(JavaServer Web Develo

开源监控(转)

Lightbot是一款由加拿大学生Danny Yaroslavski编写的关于计算机编程的迷宫游戏,游戏的目标是让机器人举起所有的蓝色瓷砖,当然它还会为孩子提供各种各样的指导和提示,直到完成目标. Zabbix Zabbix是一个基于WEB界面的提供分布式系统监控以及网络监控功能的企业级开源运维平台,也是目前国内互联网用户中使用最广的监控软件,85%以上用户在使用Zabbix做监控解决方案,“入门容易.上手简单.功能强大并且开源免费”是对Zabbix的最直观评价. 优点: 支持多平台的企业级分布

prometheus 监控概述(一)

一.监控系统概论 监控系统在这里特指对数据中心的监控,主要针对数据中心内的硬件和软件进行监控和告警.企业的 IT 架构逐步从传统的物理服务器,迁移到以虚拟机为主导的 IaaS 云.无论基础架构如何调整,都离不开监控系统的支持. 不仅如此.越来越复杂的数据中心环境对监控系统提出了更越来越高的要求:需要监控不同的对象,例如容器,分布式存储,SDN网络,分布式系统.各种应用程序等,种类繁多,还需要采集和存储大量的监控数据,例如每天数TB数据的采集汇总.以及基于这些监控数据的智能分析,告警及预警等. 在

【IT运维监控】集团宕机引发对运维人员的思考 

前不久某大型集团官网和APP突然无法正常使用引发热议,不少人幸灾乐祸,也引发出了各种的谣言和段子,根本难以体会集团内部所受的压力,特别是作为一个大集团内部的运维人员所承受的各种压力和不安. 后 来,原支付宝运维团队负责人针对此事发表了一篇文章,让不少的运维人员深有感触,作为肩负运维监控使命的运维监控工具--PIGOSS BSM 也同样感同身受.面对层出不穷的运维安全隐患,当下运维人员急需一套高效的7*24小时都能担负监控任务的工具,为自身的运维工作减负,告别之前加班熬夜 但没有工作成绩的"怪现像