静怡家园 - 书山有路勤为径,学海无涯苦作舟! www.zhanghaijun.com

静怡家园 - 书山有路勤为径,学海无涯苦作舟!

站名: 静怡家园 - 书山有路勤为径,学海无涯苦作舟!

网址: http://www.zhanghaijun.com

目录: 电脑网络 > 域名空间

PR:

Alexa: 2,473,370

备案号:

服务器IP: 113.10.239.161   香港 新世界电讯数据中心

描述: 书山有路勤为径,学海无涯苦作舟!

查询: [ 网站综合查询 | PR查询 | Alexa排名 | 同IP网站 ]

详细介绍

静怡家园书山有路勤为径,学海无涯苦作舟!首页标签留言链接归档星标日志日志标题日志全文评论引用所有留言博客首页数据库类 [13] Web开发 [123] 集群技术 [3] 点击心灵 [166] 网海拾贝 [116] 技术文章 [31] 我的随笔 [111] 资源共享 [104] 服务器类 [130] Web服务器 [3] 开源世界 [5] 休闲娱乐 [37] 缓存与存储 [1] 网站优化 [9] Linux技术 [61] Windows相关 [17]十里平湖霜满天,寸寸青丝愁华年;对月形单望相护,只羡鸳鸯不羡仙。 --《倩女幽魂》分页: 1/187 1 2 3 4 5 6 7 8 9 10 [ 显示模式: 摘要 | 列表 ]Aug27Linux下文本的高效处理 碟舞飞扬|23:41|Linux技术|评论(2)|引用(0)|阅读(1671)|Via 本站原创 引用地址: 注意: 该地址仅在今日23:59:59之前有效1 引言 所谓的文本处理是指对文本进行查找、替换、删除、排序等操作, linux在文本处理方面提供了大量优秀的工具, 使得在linux下进行文本处理极其的方便. 我们平常的工作中, 经常会用到文本处理, 比如日志分析, 比如文本抽取, 等等, 所以掌握好文本处理, 将会对我们的工作起到极大的作用. 下面我就来逐个介绍下这些强大的工具, 对于我觉得大家可能比较熟知的工具及用法, 我会略过, 或者粗讲下. 2 关于输入 Linux哲学中, 为了更好的组合各种命令达到更加强大的功能, 大多数文本处理命令的输入既可以是文件, 也可以是标准输入, 如果没有指定输入文件, 则默认从标准输入读数据. 输出都是标准输出, 方面传给管道线的下一个命令, 想要输出到文件的话, 重定向下即可. 下面介绍的这些命令, 如无特殊说明, 则都可以从文件或者标准输入读入数据. 3 文本输出 3.1 整个输出 echo 输入为命令行参数非常常用的命令, 主要用作输出字符串. 如果只是为了向管道线的下一个命令传输入的话, 可以使用Here String: echo xxx | md5summd5sum info 高级Bash脚本编程指南: 文本处理命令
Survey of Global Regular Expression Print (GREP) Tools
Tags: linux
Jul
24
Linux利器 strace
碟舞飞扬|04:10|Linux技术|评论(0)|引用(0)|阅读(2504)|Via 本站原创
引用地址:
注意: 该地址仅在今日23:59:59之前有效
strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。
strace使用参数
-p 跟踪指定的进程
-f 跟踪由fork子进程系统调用
-F 尝试跟踪vfork子进程系统调吸入,与-f同时出现时, vfork不被跟踪
-o filename 默认strace将结果输出到stdout。通过-o可以将输出写入到filename文件中
-ff 常与-o选项一起使用,不同进程(子进程)产生的系统调用输出到filename.PID文件
-r 打印每一个系统调用的相对时间
-t 在输出中的每一行前加上时间信息。 -tt 时间确定到微秒级。还可以使用-ttt打印相对时间
-v 输出所有系统调用。默认情况下,一些频繁调用的系统调用不会输出
-s 指定每一行输出字符串的长度,默认是32。文件名一直全部输出
-c 统计每种系统调用所执行的时间,调用次数,出错次数。
-e expr 输出过滤器,通过表达式,可以过滤出掉你不想要输出
应用场景
#1.跟踪你的web服务器系统调用
系统调用优化,也是web性能优化的一个较为重要的方向,尤其是在I/O密集型web应用的情况。我们这里的测试环境是CentOS5.4+Nginx+FastCGI。
#strace -f -F -o strace_nginx strace /wwwchroot/nginx/sbin/nginx -c /wwwchroot/nginx/nginx.conf
... (有部分不重要的数据影响排版,在这里使用...代替)
//--接受来自客户端的http请求
4165 recv(16, "GET /hello.php HTTP/1.1\r\nHost: f"..., 32768, 0) = 391
4165 epoll_ctl(9, EPOLL_CTL_MOD, 16, {EPOLLIN|EPOLLOUT|EPOLLET, {u32=3081162952, u64=698098541354471624}}) = 0
//--进行DNS查找
4165 getsockname(16, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("222.73.211.214")}, [16]) = 0
//--新建一个socket,连接Fast-CGI,端口号为9000
4165 socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 17
4165 ioctl(17, FIONBIO, [1]) = 0
4165 epoll_ctl(9, EPOLL_CTL_ADD, 17, {EPOLLIN|EPOLLOUT|EPOLLET, {u32=3081163048, u64=697886249710965032}}) = 0
4165 connect(17, {sa_family=AF_INET, sin_port=htons(9000), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 )
4165 epoll_wait(9, {{EPOLLOUT, {u32=3081163048, u64=697886249710965032}}, {...}, 5\
12, 300000) = 2
4165 gettimeofday({1295420285, 130967}, NULL) = 0
4165 recv(16, 0xbfdd7d8b, 1, MSG_PEEK) = -1 EAGAIN (Resource temporarily unav

猜你喜欢