在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

IIS日志导入SQLSERVER的实例分析

116次阅读
没有评论

共计 1807 个字符,预计需要花费 5 分钟才能阅读完成。

这期内容当中丸趣 TV 小编将会给大家带来有关 IIS 日志导入 SQLSERVER 的实例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

一直使用 URCHIN 分析日志,这款 google 的日志分析工具无论从功能或效率都没的说。

但还是有些特殊的分析需求还是不能完成。因此决定把日志导入到 SQLSERVER 中进行分析

开始想象的比较简单。嵌套一个循环基本可以完成

一个大循环读取某文件夹下的所有日志文件

里边的小循环逐行读取日志,里边 split 开来,插入 sql 即可。

根据数据表建立 tableadapter ,使用 insert 存储过程逐条插入数据。

第一个问题来了,发现一个日志文件大约 200W 行需要执行 3 个小时!!!

效率太低了,开始考虑开启多线程,后来发现执行效率应该和线程无关,主要在 tableadapter 的插入操作上。

这个插入方法实际上是每次执行连接 - 插入 - 断开操作。

解决方法是使用内存,少进行 IO 操作。

先建立一个 datatable。使用 tableadapter 中的强类型对象初始化这个 datatable。

然后将数据读入 datatable.

最后使用.net 对象中的 sqkbulkcopy 填充数据库。

这样数据填充的速度问题解决了。几乎 200W 的数据在 5 分钟之内可以导完。

但实际调试中,第二个问题来了。(一直也没弄明白)

我使用的服务器是 2003 64 位系统内存 16G。

一个数据文件大概 500M,每次填充 datatable 的时候,一个文件没导完就会报 outofmemory 的错误,内存溢出了!!

很奇怪,按说 64 位的系统应该可以管理很多内存,不存在 32 为的 AWE 的问题。

于是继续尝试在循环内建立小循环,每次导入 datatable 100W 条数据。

导入第一批 100W 成功了,可循环到第二个 100W 的时候还是同样的错误。

看代码,每次导入完成之后,我使用 table.dispose() 清理,可观察资源管理器,内存并没有释放掉。

于是使用 table.rows.clear()

或者使用 table.clear()??

+ GC.collect()

这样基本可以解决内存无法释放的问题,但在实际使用中还是发现内存一直在涨,因为 sqlbulkcopy 时候 sqlserver 也会占用很多内存。

少量日志导入应该不会有问题,但不知道连续导入时会出现什么样的情况

主要代码

 Private Sub readLogfile(ByVal log As FileInfo)
  Dim reader As StreamReader = New StreamReader(log.FullName)

  While Not reader.EndOfStream

  For j As Int32 = 0 To 1000000
  If Not reader.EndOfStream Then
  handleLine(reader.ReadLine())
  i += 1
  Console.WriteLine(j)
  Else
  Exit While
  End If
  Next
  bulkcopy(table1)
  table1.Rows.Clear()
  table1.Clear()
  GC.Collect()

  Console.WriteLine(——————————————— i)

  End While

 Private Sub bulkcopy(ByVal newtable As DataTable)
  Using sqlbulk As SqlBulkCopy = New SqlBulkCopy(Configuration.ConfigurationManager.ConnectionStrings( logAnalysis.My.MySettings.logDBConnectionString).ConnectionString)
  sqlbulk.DestinationTableName = logDB .dbo.Table_1
  sqlbulk.BulkCopyTimeout = 108000
  sqlbulk.WriteToServer(newtable)
  sqlbulk.Close()
  End Using

  End Sub

上述就是丸趣 TV 小编为大家分享的 IIS 日志导入 SQLSERVER 的实例分析了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注丸趣 TV 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-18发表,共计1807字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 亚洲精品高清中文字幕 | 最新亚洲人成网站在线影院 | 欧美午夜视频在线观看 | 激情九月婷婷 | 草草影院ccyycom屁屁 | 久久精品人人做人人爱爱 | 在线高清免费爱做网 | 天天躁人人躁人人躁狂躁 | 少妇伦子伦精品无吗 | 色综合久久久久无码专区 | 国产精品无码av天天爽播放器 | 二区视频在线 | 蝴蝶色综合综合成人网 | 99久热在线精品视频播 | 狠狠色综合网站 | 四虎永久网址影院 | 成人男女网18免费0 成人男女网18免费91 | 欧美激情亚洲激情 | 岛国毛片在线观看 | 亚洲成人午夜影院 | 狠狠综合久久av一区二区 | 一出一进一爽一粗一大视频免费的 | 337p西西人体大胆瓣开下部 | 国产精品久久人妻无码网站一区 | 色琪琪av中文字幕一区二区 | 免费观看欧美一级特黄 | 免费的黄色毛片 | 欧美在线视频一区二区三区 | 精品黑人一区二区三区 | 一区二区三区在线免费视频 | 亚洲精品卡2卡3卡4卡5卡区 | 久久久久久免费观看 | 国产素人在线 | 亚洲av成人无码精品网站老司机 | 国产免费爽爽视频免费可以看 | 亚洲色图黄色小说 | 一一本大道香蕉大 | 激情欧美一区二区三区 | 女上位在线观看 | 熟女性饥渴一区二区三区 | 一级毛毛片 |