监控分析——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    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-timeout
KeepAlive Off ##JMeter默认的长链接是on。长链接是啥子东西呢,比如说请求一个页面,用一个链接形成一个链接通道,用这个通道再去send和receive这个请求。复用长链接的话是不同请求页面用之前的那个链接通道,通道会被占住,下次要用的话再继续用这个通道。省去了重新建立链接和关闭链接的过程,但是,链接通道是有限的,占满了的话,其他的请求就不能继续进行链接了
MaxKeepAliveRequests 100 ##最大长链接的请求数,比如说我给300个并发,但是只有100个长链接,代表有200个并发连接不上长链接
KeepAliveTimeout 15 ##长链接的会话保持时间,在这个链接通道内,一个客户端隔了15秒还没发送下一个请求,则长链接就被释放(一般设置3-5秒就够了)
# prefork MPM ##MPM是工作模式,默认为profork
Listen 90 ##对外提供服务的端口号,apache默认为80
LoadModule…….so(一大堆) ##加载的动态库
Include conf.d/*.conf ##把配置文件conf.d文件夹内的以.conf结尾的文件包含进来,可以切换到conf.d文件夹看一看,默认有个welcome.conf,php.conf(php编译后生成的)
User apache ##哪个用户
Group apache ##用户组
ServerAdmin root@localhost
UseCanonicalName Off
DocumentRoot "/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),能出来就代表监控成功

猜你喜欢

转载自www.cnblogs.com/xiaowenshu/p/10178442.html