apache中使用mod_log_slow分析响应慢的请求
apache+php站点负载时不时高负载,但是因为上面的站点太多,太难排查到底是哪个站点引起的。nginx+php-fpm倒是好查,他有一个slowlog,可以快速的定位到出现故障的php代码位置,使用xdebug来查问题太复杂。写mod_log_slow的灵感来源于mysql的slowlog.以下内容翻译了官方的.
项目地址:http://code.google.com/p/modlogslow/
1. 编译安装 mod_log_slow
1) 解压
tar zxf mod_log_slow-1.0.7.tar.gz
cd mod_log_slow
或者可以从github中下载
git clone git://github.com/yokawasa/mod_log_slow.git
cd mod_log_slow
2) 打开Makefile并且修改变量ap_basedir
#vi Makefile
ap_basedir=/改成你的apache安装路径
# make
# make install
2. 配置apache
2.1 加载模块
LoadModule log_slow_module modules/mod_log_slow.so
2.2 配置虚拟主机
<VirtualHost *:80>
ServerName localhost
DocumentRoot /usr/local/apache/htdocs
ErrorLog logs/error_log
LogLevel debug
CustomLog logs/access_log common
CustomLog logs/transfer_log "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{logslow-id}n\" \"%{logslow-time}n\""
## (VirtualHost) mod_log_slow configuration
LogSlowEnabled On
LogSlowLongRequestTime 100
LogSlowFileName /usr/local/apache/logs/slow_log
LogSlowTimeFormat "[%Y-%m-%d %H:%M:%S]"
LogSlowBufferedLogs Off
</VirtualHost>
3. 重启
service httpd restart
相关推荐
-
apache中使用mod_gnutls模块实现多个SSL站点配置(多个HTTPS协议的虚拟主机)
在apache的环境下该如何配置多个HTTPS虚拟主机呢?利用的原理的都是同一个,也就是SNI.基于域名的虚拟主机,即共享同一个IP地址和端口的HTTPS虚拟主机. SNI-服务器名称指示,是一个TLS的扩展,它使得启用SSL的基于域名的虚拟主机的配置成为可能.打破了每个HTTPS的虚拟主机需要一个IP地址的要求.因此,成本大大降低,因为所有的HTTPS虚拟主机可以共享相同的IP地址和端口,使HTTPS Web服务的更简单. 在apache环境下,需要使用mod_gnutls来实现同一个IP上配
-
使用apachetop实时监控日志、动态分析服务器运行状态
我们经常会需要知道服务器的实时监测服务器的运行状况,比如哪些 URL 的访问量最大,服务器每秒的请求数,哪个搜索引擎正在抓取我们网站?面对这些问题,我们虽然可以去分析查看统计访问日志文件,但是却不能让我们实时统计,不能给我们直观的统计数据.现在好了,apachetop这个工具就可以实时的跟踪log的变化,能查看访问者正在查看哪些文件,和访问者IP等信息. 1. apachetop安装 复制代码 代码如下: # rpm -ivh http://mirrors.hustunique.com/epel
-
apache禁止搜索引擎收录、网络爬虫采集的配置方法
Apache中禁止网络爬虫,之前设置了很多次的,但总是不起作用,原来是是写错了,不能写到Dirctory中,要写到Location中 复制代码 代码如下: <Location /> SetEnvIfNoCase User-Agent "spider" bad_bot BrowserMatchNoCase bingbot bad_bot BrowserMatchNoCase Googlebot bad_bot Order Deny,Allow #下面是禁止soso的爬虫 De
-
apache中使用mod_log_slow分析响应慢的请求
apache+php站点负载时不时高负载,但是因为上面的站点太多,太难排查到底是哪个站点引起的.nginx+php-fpm倒是好查,他有一个slowlog,可以快速的定位到出现故障的php代码位置,使用xdebug来查问题太复杂.写mod_log_slow的灵感来源于mysql的slowlog.以下内容翻译了官方的. 项目地址:http://code.google.com/p/modlogslow/ 1. 编译安装 mod_log_slow 1) 解压 复制代码 代码如下: tar zxf mo
-
Nginx记录分析响应慢的请求及替换网站响应内容的配置
nginx记录分析网站响应慢的请求(ngx_http_log_request_speed) nginx模块ngx_http_log_request_speed可以用来找出网站哪些请求很慢,针对站点很多,文件以及请求很多想找出哪些请求比较慢的话,这个插件非常有效.作者的初衷是写给自己用的,用来找出站点中处理时间较长的请求, 这些请求是造成服务器高负载的很大根源. 日志记录之后,在使用perl脚本分析日志,即可知道哪些请求需要修正. 1. 模块安装 nginx第三方模块安装方法这里就一笔略过了. 配
-
thinkphp中ajax与php响应过程详解
本文实例分析了thinkphp中ajax与php响应过程.分享给大家供大家参考.具体分析如下: 一般将前台页面搜索结果中,不喜欢的内容(链接),删除掉,因为整个网站的编程框架式thinkphp,运用js中的ajax对页面进行响应,调用后台php接口,实现前台和后台数据库的同时更新. 首先我们需要做的就是在前台页面中添加一个文本"删除",可以这么添加: 复制代码 代码如下: <a href="javascript:void(0);" id= "<
-
Apache中的Order Allow,Deny用法详解
本文讲述了Apache中的Order Allow,Deny用法.分享给大家供大家参考,具体如下: Allow和Deny可以用于apache的conf文件或者.htaccess文件中(配合Directory, Location, Files等),用来控制目录和文件的访问授权. 所以,最常用的是: Order Deny,Allow Allow from All 注意"Deny,Allow"中间只有一个逗号,也只能有一个逗号,有空格都会出错:单词的大小写不限.上面设定的含义是先设定"
-
详解如何在Apache中运行Python WSGI应用
在生产环境上,一般会使用比较健壮的Web服务器,如Apache来运行我们的应用.如果我们的Web应用是采用Python开发,而且符合WSGI规范,比如基于Django,Flask等框架,那如何将其部署在Apache中呢?本文中,我们就会介绍如何使用Apache模块mod_wsgi来运行Python WSGI应用. 安装mod_wsgi 我们假设你已经有了Apache和Python环境,在Linux或者Mac上,那第一步自然是安装.在Ubuntu或Debian环境中,你可以使用apt-get命令来
-
Python3爬虫中关于Ajax分析方法的总结
这里还以前面的微博为例,我们知道拖动刷新的内容由Ajax加载,而且页面的URL没有变化,那么应该到哪里去查看这些Ajax请求呢? 1. 查看请求 这里还需要借助浏览器的开发者工具,下面以Chrome浏览器为例来介绍. 首先,用Chrome浏览器打开微博的链接https://m.weibo.cn/u/2830678474,随后在页面中点击鼠标右键,从弹出的快捷菜单中选择"检查"选项,此时便会弹出开发者工具,如图6-2所示: 此时在Elements选项卡中便会观察到网页的源代码,右侧便是节
-
Apache中伪静态Rewrite的使用方法和URL重写规则表达式讲解
目录 一.安装rewrite模块 二.配置文件httpd.conf中启用Rewrite 三.在服务器中找到配置文件vhosts.conf,启用.htaccess 四.在要启用伪静态的项目根目录下建立 .htaccess 文件 五.重启Apache服务器,就OK了 六.参数补充说明 apache中的mod_rewrite模块提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求,主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言.可基于服务器级的(httpd.conf)和目录级
-
JS中使用media实现响应式布局
常见写法: 下面总结常见的响应式布局的分类: @media screen and (max-width:320px){ #talkFooter .editArea{-- } } @media screen and (min-width:321px) and (max-width:375px){ #talkFooter .editArea{-- } } @media screen and (min-width:376px) and (max-width:414px){ #talkFooter .e
-
nodejs中使用HTTP分块响应和定时器示例代码
在本例中,将要创建一个输出纯文本的HTTP服务器,输出的纯文本每隔一秒会新增100个用换行符分隔的时间戳. require('http').createServer(function(req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); var left = 10; var interval = setInterval(function() { for(var i = 0; i< 100; i++) { res.write
-
Apache中利用mod_rewrite实现防盗链
前提Apache中的mod_rewrite模块为激活状态,既然要消灭掉mp3文件的盗链就顺便也把图片盗链的设置给做了,下面是我在网站根目录的.htaccess文件中的配置,供同病相怜之人参考:. view plaincopy to clipboardprint?<ifmodule mod_rewrite.c> #开启mod_rewrite引擎 RewriteEngine On #设置合法请求源 <ifmodule mod_rewrite.c> #开启mod_re
随机推荐
- js获取上传文件大小示例代码
- 基于JavaScript实现瀑布流效果
- iOS中json解析出现的null,nil,NSNumber的解决办法
- thinkPHP模板中for循环与switch语句用法示例
- 使用PHP备份MySQL和网站发送到邮箱实例代码
- Android中自定义对话框(Dialog)的实例代码
- MySQL 分表优化试验代码
- phpMyAdmin下将Excel中的数据导入MySql的图文方法
- go语言通过反射获取和设置结构体字段值的方法
- mysql中错误:1093-You can’t specify target table for update in FROM clause的解决方法
- MVC Ajax Helper或Jquery异步加载部分视图
- 通过百度地图获取公交线路的站点坐标的js代码
- javascript克隆元素样式的实现代码
- 基于JavaScript实现树形下拉框
- 部署VoIP的标准草案LLDP-MED协议概述
- Java+opencv3.2.0实现hough直线检测
- java实现科研信息管理系统
- MySQL DML语句整理汇总
- python爬虫豆瓣网的模拟登录实现
- MYSQL实现排名及查询指定用户排名功能(并列排名功能)实例代码