上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 32 下一页
摘要: 本文将介绍网络连接建立的过程、收发包流程,以及其中应用层、tcp层、ip层、设备层和驱动层各层发挥的作用。 应用层 对于使用socket进行网络连接的服务器端程序,我们会先调用socket函数创建一个套接字: 以上指定了连接协议,socket调用返回一个文件句柄,与socket文件对应的inode不 阅读全文
posted @ 2018-05-15 10:41 大数据从业者FelixZh 阅读(2207) 评论(0) 推荐(0)
摘要: Linux下,I/O处理的层次可分为4层: 1. 系统调用层,应用程序使用系统调用指定读写哪个文件,文件偏移是多少 2. 文件系统层,写文件时将用户态中的buffer拷贝到内核态下,并由cache缓存该部分数据 3. 块层,管理块设备I/O队列,对I/O请求进行合并、排序 4. 设备层,通过DMA与 阅读全文
posted @ 2018-05-15 10:15 大数据从业者FelixZh 阅读(456) 评论(0) 推荐(0)
摘要: 在LINUX系统中,如果有大量读请求,默认的请求队列或许应付不过来,我们可以 动态调整请求队列数来提高效率,默认的请求队列数存放在/sys/block/xvda/queue/nr_requests 文件中,注意:/sys/block/xvda ,这里 xvda 写的是你自己的硬盘名,因我的是vps所 阅读全文
posted @ 2018-05-14 19:28 大数据从业者FelixZh 阅读(7348) 评论(0) 推荐(0)
摘要: 一、systemtap介绍 SystemTap是一个强大的调试工具,是监控和跟踪运行中的Linux 内核的操作的动态方法,确切的说应该是一门调试语言,因为它有自己的语法,也有解析、编译、运行等过程(准确的说有五个阶段)。 但它主要解决的问题是收集Linux内核或者用户进程的信息,主要目的是调试。 g 阅读全文
posted @ 2018-05-14 17:04 大数据从业者FelixZh 阅读(1260) 评论(0) 推荐(0)
摘要: iostat等命令看到的是系统级的统计,比如下例中我们看到/dev/sdb很忙,如果要追查是哪个进程导致的I/O繁忙,应该怎么办? # iostat -xd ... Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r 阅读全文
posted @ 2018-05-14 11:09 大数据从业者FelixZh 阅读(2593) 评论(0) 推荐(0)
摘要: iostat(1)是在Linux系统上查看I/O性能最基本的工具,然而对于那些熟悉其它UNIX系统的人来说它是很容易被误读的。比如在HP-UX上 avserv(相当于Linux上的 svctm)是最重要的I/O指标,反映了硬盘设备的性能,它是指I/O请求从SCSI层发出、到I/O完成之后返回SCSI 阅读全文
posted @ 2018-05-10 18:10 大数据从业者FelixZh 阅读(462) 评论(0) 推荐(0)
摘要: Linux 有许多可用来查找问题的简单工具,也有许多是更高级的 I/O Wait 就是一个需要使用高级的工具来debug的问题,当然也有许多基本工具的高级用法。I/O wait的问题难以定位的原因是因为我们有很多工具可以告诉你说I/O 受限了,但是并没有告诉你具体是那个进程引起的(哪些进程们) 确认 阅读全文
posted @ 2018-05-10 17:44 大数据从业者FelixZh 阅读(2324) 评论(0) 推荐(0)
摘要: 在Linux系统上,如果I/O发生性能问题,有没有办法进一步定位故障位置呢?iostat等最常用的工具肯定是指望不上的,【容易被误读的iostat】一文中解释过await表示单个I/O所需的平均时间,但它同时包含了I/O Scheduler所消耗的时间和硬件所消耗的时间,所以不能作为硬件性能的指标, 阅读全文
posted @ 2018-05-10 17:44 大数据从业者FelixZh 阅读(868) 评论(0) 推荐(0)
摘要: 通过其他程序或脚本在非交互式模式下调用top命令,经常会出现: top: failed tty get 错误 解决办法:加个-b 选项皆可 -b : Batch mode operation Starts top in <A1><AF>Batch mode<A1><AF>, which could 阅读全文
posted @ 2018-05-10 16:33 大数据从业者FelixZh 阅读(6288) 评论(1) 推荐(1)
摘要: 1 Background http://nginx.org/en/docs/http/ngx_http_stub_status_module.html ngx_http_stub_status_module 是一个 Nginx 的内置 HTTP 模块,该模块可以提供 Nginx 的状态信息。默认情况 阅读全文
posted @ 2018-05-09 19:19 大数据从业者FelixZh 阅读(1162) 评论(0) 推荐(0)
摘要: 在本小节我们介绍一个用于Nginx对后端UpStream集群节点健康状态检查的第三方模块:nginx_upstream_check_module(https://github.com/yaoweibin/nginx_upstream_check_module)。这个模块有资料介绍是TaoBao团队开 阅读全文
posted @ 2018-05-09 19:15 大数据从业者FelixZh 阅读(6311) 评论(0) 推荐(1)
摘要: 1、概述(可以直接跳过看第2部分) Nginx方便地帮助我们实现了平滑升级。其原理简单概括,就是: (1)在不停掉老进程的情况下,启动新进程。 (2)老进程负责处理仍然没有处理完的请求,但不再接受处理请求。 (3)新进程接受新请求。 (4)老进程处理完所有请求,关闭所有连接后,停止。 这样就很方便地 阅读全文
posted @ 2018-05-09 18:57 大数据从业者FelixZh 阅读(405) 评论(0) 推荐(0)
摘要: %iowait 是 “sar -u” 等工具检查CPU使用率时显示的一个指标,在Linux上显示为 %iowait,在有的Unix版本上显示为 %wio,含义都是一样的。这个指标常常被误读,很多人把它当作I/O问题的征兆,我自己每隔一段时间就会遇到对 %iowait 紧张兮兮的客户,不得不费尽唇舌反 阅读全文
posted @ 2018-05-07 18:29 大数据从业者FelixZh 阅读(912) 评论(0) 推荐(1)
摘要: 在之前的常见的Java问题排查方法一文中,没有写cpu iowait时的排查方法,主要的原因是自己之前也没碰到过什么cpu iowait高的case,很不幸的是在最近一周连续碰到了两起cpu iowait的case,通过这两起case让自己学习到了很多系统层面的知识,也许这些知识对于熟悉系统的人来说 阅读全文
posted @ 2018-05-07 13:19 大数据从业者FelixZh 阅读(5018) 评论(0) 推荐(0)
摘要: 首先 、用top命令查看 1 2 3 4 5 top - 16:15:05 up 6 days, 6:25, 2 users, load average: 1.45, 1.77, 2.14 Tasks: 147 total, 1 running, 146 sleeping, 0 stopped, 0 阅读全文
posted @ 2018-05-07 13:16 大数据从业者FelixZh 阅读(8730) 评论(1) 推荐(0)
摘要: 命令:time dd if=/dev/zero bs=1M count=2048 of=direct_2G 此命令为在当前目录下新建一个2G的文件 Demo如下: 写速度: time dd if=/dev/zero of=test.dbf bs=8k count=300000其中/dev/zero是 阅读全文
posted @ 2018-05-07 10:52 大数据从业者FelixZh 阅读(10952) 评论(1) 推荐(0)
摘要: 本文将介绍一些作为程序猿或者IT从业者应该知道的CPU Cache相关的知识 文章欢迎转载,但转载时请保留本段文字,并置于文章的顶部 作者:卢钧轶(cenalulu) 本文原文地址:http://cenalulu.github.io/linux/all-about-cpu-cache/ 先来看一张本 阅读全文
posted @ 2018-05-07 09:56 大数据从业者FelixZh 阅读(1948) 评论(0) 推荐(0)
摘要: 一:jstack找到最耗cpu的线程并定位代码 1.ps -ef|grep java 或者 jps -l 得到进程pid 2.找到该进程内最耗cpu的线程,我一般使用: top -Hp pid 3.cpu时间最长的就是pid为21742的线程,printf "x%\n" 21742,得到十六进制,为 阅读全文
posted @ 2018-05-07 09:41 大数据从业者FelixZh 阅读(654) 评论(0) 推荐(0)
摘要: 这个是之前处理过的一个线上问题,处理过程断断续续,经历了两周多的时间,中间各种尝试,总结如下。这篇文章分三部分: 1、问题的场景和处理过程;2、GC的一些理论东西;3、看懂GC的日志 先说一下问题吧 问题场景:线上机器在半夜会推送一个700M左右的数据,这个时候有个数据置换的过程,也就是说有700M 阅读全文
posted @ 2018-05-07 09:35 大数据从业者FelixZh 阅读(2945) 评论(0) 推荐(0)
摘要: 进一步分析报错原因,具体步骤如下: l 查看这两台系统最大的允许文件打开数 [root@nginx01 logs]# cat /proc/sys/fs/file-max 343927 l 通过ulimit -n命令可以查看目前该linux系统里打开文件描述符的最大值 [root@nginx01 lo 阅读全文
posted @ 2018-05-03 09:48 大数据从业者FelixZh 阅读(5405) 评论(0) 推荐(0)
摘要: 通过netstat -anp可以查看机器的当前连接状态: Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program 阅读全文
posted @ 2018-05-02 15:50 大数据从业者FelixZh 阅读(4767) 评论(0) 推荐(0)
摘要: From my man page: Recv-Q Established: The count of bytes not copied by the user program connected to this socket. Listening: Since Kernel 2.6.18 this 阅读全文
posted @ 2018-05-02 15:37 大数据从业者FelixZh 阅读(445) 评论(0) 推荐(0)
摘要: LoadRunner 11 error:Cannot initialize driver dll 这个错误很容易解决,使用win7系统时,有些程序要以管理员身份才能运行。 解决方案:右键选择:“以管理员身份运行”即可。 阅读全文
posted @ 2018-04-27 09:28 大数据从业者FelixZh 阅读(1322) 评论(0) 推荐(0)
摘要: 1、perf命令简要介绍 性能调优时,我们通常需要分析查找到程序百分比高的热点代码片段,这便需要使用 perf record 记录单个函数级别的统计信息,并使用 perf report 来显示统计结果; 举例 perf record -e cpu-clock -g -p 222 -g 选项是告诉pe 阅读全文
posted @ 2018-04-24 19:11 大数据从业者FelixZh 阅读(4523) 评论(0) 推荐(0)
摘要: Web服务器在用着nginx,在日志中偶尔会看到有499这个错误。 rfc2616中,400~500间的错误码仅定义到了417,所以499应该是nginx自己定义的。后来想到读读nginx代码,疑问立解。 查看nginx源代码的方法: 1.解压nginx-1.4.7.tar.gz tar zxf n 阅读全文
posted @ 2018-04-18 09:18 大数据从业者FelixZh 阅读(15463) 评论(0) 推荐(0)
摘要: command = /usr/local/bin/nginx 这个命令默认是后台启动,但是supervisor不能监控后台程序,所以supervisor就一直执行这个命令。 加上-g 'daemon off;'这个参数可解决这问题,这个参数的意思是在前台运行。 command = /usr/local/bin/nginx -g 'daemon off;' 阅读全文
posted @ 2018-04-17 15:39 大数据从业者FelixZh 阅读(1561) 评论(0) 推荐(0)
摘要: /etc/php-fpm.conf,设置daemonize = no,默认是yes 阅读全文
posted @ 2018-04-17 15:38 大数据从业者FelixZh 阅读(802) 评论(0) 推荐(0)
摘要: XML-RPC API Documentation http://www.supervisord.org/api.html Third Party Applications and Libraries http://www.supervisord.org/plugins.html 本文尝试一下第三方 阅读全文
posted @ 2018-04-16 09:37 大数据从业者FelixZh 阅读(408) 评论(0) 推荐(0)
摘要: 一般情况下,肯定是不推荐使用root用户启动php的 但是在某些服务器管理想使用WEB的方式来控制操作的话,那么就必须要使用root用户才有权限操作 1、修改配置文件php-fpm.conf的启动用户为root,默认是nobody 我这里的php-fpm配置文件是在这里, vim /usr/loca 阅读全文
posted @ 2018-04-13 19:29 大数据从业者FelixZh 阅读(3812) 评论(0) 推荐(0)
摘要: vim nginx.conf 修改user nginx为当前系统用户,如:user root 阅读全文
posted @ 2018-04-13 19:24 大数据从业者FelixZh 阅读(554) 评论(0) 推荐(0)
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 32 下一页
大数据从业者