免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 10536 | 回复: 23
打印 上一主题 下一主题

unix大文件处理编程,估计要10G的日志 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-05 14:29 |只看该作者 |倒序浏览
服务器里要处理大约10G的日志(文本文件),主要是对日志排序。用shell脚本和C语言混合编程,速度还是很慢。大家有没有好的建议。

论坛徽章:
0
2 [报告]
发表于 2009-08-05 16:19 |只看该作者
没有人提下建议吗?

论坛徽章:
0
3 [报告]
发表于 2009-08-05 19:20 |只看该作者
你这个说得太笼统了。一般说最好是多读到内存来排序,如果反复读文件肯定会比较慢。

论坛徽章:
0
4 [报告]
发表于 2009-08-05 22:34 |只看该作者
关键是要看你的日志文件有什么特殊格式没有,以及希望怎么处理
理论上最快的处理方式等同于 10GB 文件通读一遍

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
5 [报告]
发表于 2009-08-05 22:39 |只看该作者
想办法减小下日志文件的体积呢

论坛徽章:
0
6 [报告]
发表于 2009-08-06 10:41 |只看该作者
怎么“扫描日志”,我们用shell里grep, sed和wc很慢,用C想统计一个然后删除这个日志里相同的URL然后再统计下一个,但是C语言里没有在源文件删除数据的函数。只能放到内存中,比较放到另外一个文件夹,速度还是很慢。

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
7 [报告]
发表于 2009-08-06 10:54 |只看该作者
要速度快还是考虑只用C吧。
每行作为key,放到map里,重复的次数+1。
最后排序

论坛徽章:
0
8 [报告]
发表于 2009-08-06 11:18 |只看该作者
原帖由 hellioncu 于 2009-8-6 10:54 发表
要速度快还是考虑只用C吧。
每行作为key,放到map里,重复的次数+1。
最后排序

这样的话就要修改日志记录程序了,在记录的时候就事先根据 hash 或者 map 统计出各个不同 URL 的 hit 值

论坛徽章:
0
9 [报告]
发表于 2009-08-06 11:22 |只看该作者
如果重复比较速度还是很慢啊。要考虑每比较一个URL就把这个1G的日志文件里所有相同的URL删除掉。

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
10 [报告]
发表于 2009-08-06 11:29 |只看该作者
原帖由 ttyttytty12 于 2009-8-6 10:41 发表
怎么“扫描日志”,

当然是逐行读取。

我们用shell里grep, sed和wc很慢

10G 的文件,当然很慢了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP