中间件监控看是否有性能瓶颈
核心:主要看中间件的线性池进程池有没有排队情况,请求是否处理及时就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 1336 1319 0 00:42 ? 00:00:00 /usr/sbin/httpd 5 apache 1337 1319 0 00:42 ? 00:00:00 /usr/sbin/httpd 6 apache 1338 1319 0 00:42 ? 00:00:00 /usr/sbin/httpd 7 apache 1339 1319 0 00:42 ? 00:00:00 /usr/sbin/httpd 8 apache 1340 1319 0 00:42 ? 00:00:00 /usr/sbin/httpd 9 apache 1341 1319 0 00:42 ? 00:00:00 /usr/sbin/httpd 10 apache 1342 1319 0 00:42 ? 00:00:00 /usr/sbin/httpd
首先,切换到httpd的路径:(我们是yum安装的apache,因为编译安装的只有一种工作模式,yum安装才能出来3种工作模式),可以看到三个执行文件,分别是httpd,httpd.event,httpd.worker。分别是apache的三种工作模式,我们默认使用的是httpd这个文件的工作模式。那假设我想用httpd.event的工作模式怎么办呢?把httpd的文件名改成其他的,把httpd.event改成 httpd 。其实默认的httpd本来的名字是 httpd.prefok
所以说有三种模式:.prefok;.event;.worker
我们yum安装的httpd文件会比较分散,主要的是在:/etc/httpd 下面
conf不用讲,是配置文件夹
httpd.conf 就是配置文件
我们可以进去查看下:
ServerTokens OS ##不用管,操作系统版本 ServerRoot "/etc/httpd" ##apache的安装路径,不用改 PidFile run/httpd.pid ##在/etc/httpd/run/有一个httpd.pid,这个意思是pidfile会生成在这个路径下。启动的时候这个文件会生成现,这个文件在的话,apache会判定是启动;关闭后这个文件默认会删除,但是如果有时候apache异常关闭,方法不对,会导致这个文件没删除。接下来apache也启动不了,正确做法是手动删除Timeout 60 ##超时时间,这个超时时间是什么超时???在接收跟发送之前的超时,是请求过来了,tcp/ip连接已经连接了,但是没处理。这个不是connection-timeout,connection-timeout是客户端配置的,客户端发送请求,比如60秒内没连上,就是connection-timeoutKeepAlive Off ##JMeter默认的长链接是on。长链接是啥子东西呢,比如说请求一个页面,用一个链接形成一个链接通道,用这个通道再去send和receive这个请求。复用长链接的话是不同请求页面用之前的那个链接通道,通道会被占住,下次要用的话再继续用这个通道。省去了重新建立链接和关闭链接的过程,但是,链接通道是有限的,占满了的话,其他的请求就不能继续进行链接了MaxKeepAliveRequests 100 ##最大长链接的请求数,比如说我给300个并发,但是只有100个长链接,代表有200个并发连接不上长链接KeepAliveTimeout 15 ##长链接的会话保持时间,在这个链接通道内,一个客户端隔了15秒还没发送下一个请求,则长链接就被释放(一般设置3-5秒就够了)# prefork MPM ##MPM是工作模式,默认为proforkListen 90 ##对外提供服务的端口号,apache默认为80LoadModule…….so(一大堆) ##加载的动态库Include conf.d/*.conf ##把配置文件conf.d文件夹内的以.conf结尾的文件包含进来,可以切换到conf.d文件夹看一看,默认有个welcome.conf,php.conf(php编译后生成的)User apache ##哪个用户Group apache ##用户组ServerAdmin [email protected]UseCanonicalName OffDocumentRoot "/usr/local/zentaopms/www" ##工程路径,就是代码往哪儿搁,就往这里放,把安装包往这里放就得了<Directory "/var/www/html"> ##跟工程路径保持一致ErrorLog logs/error_log ##日志路径LogLevel warn ##日志级别,有debug, info, notice, warn, error, crit,alert, emerg可选择。详细点的日志用debug,一般我们用info级别CustomLog logs/access_log common ##用户日志,一般被注释,可打开 ##状态码不同的提示过着提示的路径内容如下,其内容可自行定制:#ErrorDocument 500 "The server made a boo boo."#ErrorDocument 404 /missing.html#ErrorDocument 404 "/cgi-bin/missing_handler.pl"#ErrorDocument 402 http://www.example.com/subscription_info.html 监控的话,把下面俩的注释取消掉:且默认的Allow from .example.com 改成 Allow from all <Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from all</Location> <Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from all</Location>
改了。重启
service httpd restart 或者
cd/usr/sbin 下面,执行 ./httpd
接着,看apache有没有启动,然后进入apache的 ip:port/server-status 就可以看到监控的信息(我配置的端口为90),能出来就代表监控成功
原文地址:https://www.cnblogs.com/xiaowenshu/p/10178442.html
时间: 2024-11-02 05:58:03