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

IIS日志导入SQLSERVER的实例分析

99次阅读
没有评论

共计 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字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 少妇放荡的呻吟干柴烈火免费视频 | 久久精品国产精品亚洲艾 | 四虎精品成人a在线观看 | 亚洲另类欧美综合久久图片区 | 精品视频一区二区三区在线观看 | 亚洲欧美日韩国产精品一区 | 黑人大荫蒂老太大 | 日韩亚洲人成网站在线播放 | 毛片免费观看日本中文 | 精品亚洲一区二区三区四区五区 | 欧美成人综合在线观看视频 | 人人妻人人澡人人爽不卡视频 | 日韩精品一区二区在线观看 | 欧美日本免费 | 老熟妇性色老熟妇性 | 国产99热久久这里有精品999 | 小受叫床高潮娇喘嗯啊mp3 | 天天操网站| 91免费观看在线网址 | 欧美s级人做人爱c视频 | 久久久久久久久女黄 | 国产理论最新国产精品视频 | 免费澳门一级毛片 | 国产精品久久久久久爽爽爽 | 日本一级aaaa特黄毛片 | 狠狠色婷婷久久一区二区三区 | 日日狠狠久久偷偷四色综合免费 | 国产天堂亚洲国产碰碰 | 美女内射视频www网站午夜 | 欧美性做爰片免费视频看 | 国产亚洲日韩a欧美在线人成 | 少妇性饥渴无码a区免费 | 欧美粉嫩免费视频播放 | 在线视频中文字幕 | 久久久久国色av免费观看性色 | 一女被多男玩喷潮视频 | 午夜精品视频在线 | 熟妇人妻va精品中文字幕 | 狠狠躁天天躁中文字幕无码 | 一本色道久久88亚洲精品综合 | 欧美精品在线观看视频 |