IIS日志分析

IIS日志分析工具:LogParse、sqlserver 2008

1.从将IIS日志转换到数据库表中

logparser "SELECT TO_LOCALTIME(TO_TIMESTAMP(ADD(TO_STRING(date, 'yyyy-MM-dd '), TO_STRING(time, 'hh:mm:ss')),'yyyy-MM-dd hh:mm:ss')) AS RequestTime, * FROM 'D:\phone.log' to phonelog" -i:IISW3C -o:SQL -oConnString:"Driver={SQL Server};server=.;database=iis;uid=sa;pwd=pwd;Integrated Security=SSPI" -createtable:ON

2.使用sql分析语句分析结果

--去除url参数并保存到指定表中
alter table phonelog add url nvarchar(200)
go
update phonelog set url=case when Charindex('/',csUriStem,CHARINDEX('/',csUriStem,2)+1)>0 then SUBSTRING(csUriStem,0,Charindex('/',csUriStem,CHARINDEX('/',csUriStem,2)+1)) else csUriStem end

--分析时间占用
select scStatus, count(*) AS count, sum(timetaken * 1.0) /1000.0 AS sum_timetaken_second from phonelog with(nolock) group by scStatus order by 3 desc

--统计网络级别错误
declare @recCount bigint;
select @recCount = count(*) from phonelog with(nolock)
select case when scWin32Status=64 then '客户端连接已关闭' when scWin32Status=121 then '传输超时' when scWin32Status=1236 then '本地网络中断' else Convert(varchar,scWin32Status) end as scWin32Status , count(*) AS count, (count(*) * 100.0 / @recCount) AS [percent]
from phonelog with(nolock)
where scWin32Status > 0
group by scWin32Status
order by 2 desc

--查询每个用户的最大最小请求次数
select cIp,COUNT(*) as count from phonelog group by cIp order by 2 desc

--查询日志最大最小时间
select MAX(l.date) as maxdate,MIN(l.date) as mindate from phonelog l

--查询耗时最大的请求
select top 1000 l.csUriStem,(timetaken * 1.0) /1000.0 as timetaken_second from phonelog l order by l.timeTaken desc

--查询标准请求中请求最多的url
select top 1000 l.csUriStem,sum(timetaken * 1.0) /1000.0 as sum_timetaken_second,COUNT(*) as count from phonelog l group by l.csUriStem order by 3 desc

--查询发杂请求中请求最多的接口
select ll.url,ll.count,ll.sum_timetaken_second,ll.sum_timetaken_second/ll.count as avg_timetaken_second from (
select l.url,sum(timetaken * 1.0) /1000.0 as sum_timetaken_second,COUNT(*) as count from phonelog l group by l.url)ll order by 2 desc

--查询平均耗时最大的请求接口
select ll.url,ll.count,ll.sum_timetaken_second,ll.sum_timetaken_second/ll.count as avg_timetaken_second from (
select l.url,sum(timetaken * 1.0) /1000.0 as sum_timetaken_second,COUNT(*) as count from phonelog l group by l.url)ll order by 4 desc


select * from phonelog l where l.csuristem like '%GetClassDynamicPager%'

3.其它数据库操作和分析可以随自己的意愿去写sql语句。

4.根据分析结果和业务,查找性能瓶颈,有针对的对当前的程序进行优化修改。

 

转载于:https://www.cnblogs.com/maomao999/p/5744098.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IIS 443 端口无法启动,可能会出现各种问题,包括 web 服务器无法访问、无法在 HTTPS 端口上启动服务、IIS 无法绑定实例到端口等。这些问题对于计算机网络管理员和 Web 开发人员来说都可能是非常棘手且耗费时间的问题。 首先,可能是因为端口被占用而无法启动,这时我们需要找到占用该端口的进程,统计一些关键指标或充分利用 SharePoint 分析日志文件。我们可以使用命令行工具查看进程使用的端口,如 netstat -ano。如果我们发现某个进程正在占用该端口,我们可以使用任务管理器或进程管理器来杀死该进程。 其次,可能是因为证书无效或损坏而无法启动端口。我们需要确保证书已成功安装,并且是需要的类型和格式。如果我们需要的是自签名证书,则需要从自定义证书颁发机构处获取。此外,还需要检查证书权限和绑定,确保证书正确配置。 最后,可能是因为 IIS 版本不兼容或 IIS 服务未启动而无法启动端口。我们需要确保 IIS 已正确安装,并且是需要的版本。如果我们需要运行其他操作系统,则还要检查操作系统版本。同时,我们需要在“服务”面板中查找 IIS 服务并确保其已启动。如果服务未启动,则需要手动启动它,或者通过重新安装 IIS 以修复它。 如果我们能够仔细根据上述可能情况逐一排查,那么对于 IIS 443 端口未启动时的问题,我们就能够得心应手地解决它。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值