Fearchen's Blog

把我的过程记录下来,以免以后忘了


  • 首页

  • 归档

  • 关于

RHCA-RH442(性能调优)学习笔记

发表于 2017-01-03 | 更新于 2017-01-06 | 分类于 RHCA

RHCA 442-1(1)

  1. Business Level Tuning > Application Level Tuning > Kernel Level Tuning(RH442)
  2. grep CPU /proc/cpuinfo
  3. lscpu
    a. lscpu -p
  4. cat /proc/cpuinfo
    a. cat /proc/meminfo
    RHCA 442-1(2)
  5. dmesg(实时kernel信息)
  6. /var/log/dmesg(开机kernel信息写入)
  7. getconf -a
  8. x85info(yum install x86info -y)
  9. dmidecode
    a. dmidecode -t 0
  10. cd /sys/class/dmi/id/
  11. lspci
    a. lspci -v
    b. lspci -vv
    c. lspci -vvv
  12. lsusb
    a. lsusb -v
  13. ethtool eth0
  14. powertop(yum install powertop -y)
  15. sosreport
    RHCA 442-2(1)
  16. K=1000
    a. Ki=1024
  17. vmstat
    a. vmstat 1 5
    b. dd if=/dev/zero of=/dev/null
    c. buffer= buffer cache(文件描述数据)
    d. cache= page cache(文件内容数据)
    e. echo 3 > /proc/sys/vm/drop_cahces
    f. bi= block in
    g. bo= block out
  18. iostat
    a. iostat -x sda 1
  19. mpstat
    a. mpstat 1
    b. mpstat -p 0 1
  20. sar
    a. yum install sysstat
    b. cat /etc/cron.d/sysstat
    c. LANG=C sar -q(CPU负载)
    d. LANG=C sar -b(I/O状况)
    i. sar -b -s 17:00:00 -e 19:00:00
    
    e. LANG=C sar -p 0 (第一颗cpu状态)
    f. LAMD=C sar -d(磁盘状态)
    g. LANG=C sar -n DEV|EDEV(网络信息)
    h. cd /var/log/sa/
    i. cat /etc/sysconfig/sysstat
  21. awk
    a. awk -F: ‘{print $1}’ /etc/passwd
    b. df -P | awk ‘{print $1 “ is mount on “ $NF}’
    c. awk -F: ‘BEGIN{print “User List:”} {print $1} END{print “Done.”}’ /etc/passwd
    d. df -hP | awk ‘BEGIN{print “File System status:”}{print $1,$(NF-2)} END{print “Done.”}’
    e. awk -F: ‘/^r/ {print $1}’ /etc/passwd
    f. awk -F: ‘/^[a-z]t:./ {print $1}’ /etc/passwd
    g. sar -q | awk ‘/^[^a-z]+$/{print $1,$4,$5,$6}’ > /tmp/cpudata
  22. gnuplot
    a. yum install gnuplot -t
    b. gnuplot
    i. set xdata tim
    ii. set timefmt "%H:%M:%S"
    iii. plot "/tmp/cpudata" using 1:2 with lines
    

RHCA 442-2(2)

  1. Little’s Law
  2. L(lenth) = A(arrival time)* W(wait time)
  3. W(wait time) = Q(queue time) +S(service time)
  4. S(service time) = St(sys time) + Ut(user time)
  5. time command
    a. time updatedb
    b. echo 3 > /proc/sys/vm/drop_caches
    c. time updatedb
    RHCA 442-3(1-2)
  6. lsmod
    a. ls /lib/modules/3.10.0-327.el7.x86_64/ (kernel模块)
    b. ll /boot/vmlinuz-3.10.0-327.el7.x86_64 (kernel本身)
  7. modinfo
    a. modinfo st
    b. modinfo -p st
    c. modinfo usb_storage
    d. modinfo sx8
  8. modprobe
    a. modprobe st
  9. rmmod
    a. rmmod st
  10. /etc/modprobe.d/my.conf
    a. options usb_storage delay_user = 3
    b. options st buffer_kbs = 64
    c. options sx8 max_queue = 15
  11. /sys/module/$(mname)/paraments/$(pname)
    a. more /sys/module/usb_storage/parameters/delay_use
  12. more /etc/sysconfig/modules/st.modules (开机模块加载)
  13. I/O Schedulers
    a. cfq,deadline,anticipatory,noop
    b. cat /sys/block/sda/queue/scheduler ([]中是当前电梯算法)
    c. more /sys/block/sda/queue/nr_requests
    d. more /sys/block/sda/queue/read_ahead_kb
    e. echo cfq > /sys/block/sda/queue/scheduler
    f. more /sys/block/sda/queue/scheduler
    g. ll /sys/block/sda/queue/iosched
    RHCA 442-3(3)
  14. tuned
    a. yum info tuned
    b. yum install tuned -y
    c. tuned-adm active
    d. tuned-adm list
    e. tuned-adm profile desktop
    f. ll /usr/lib/tuned/
    g. cp -a /usr/lib/tuned/desktop/* /etc/tuned/ex442/
    RHCA 442-4(1)
  15. CPU Scheduling
  16. CFS Scheduler
    a. virtual time
  17. chrt command
    a. chrt -f 10 top
    b. chrt -r 1 md5sum /dev/zero
    RHCA 442-4(2)
  18. x86info -c
  19. valgrind -tool=cahcegrind command1
  20. perf stat -e cahce-misses command
    RHCA 442-4(3-4)
  21. pam_limits
    a. vi /etc/security/limits.conf
    i. user    hard        cpu        1
    
    b. ulimit -a
    c. cgroup
    i. service cgconfig start
    ii. service cgred start
    iii. lssubsys -m
    iv. echo 0 > /sys/devices/system/cpu/cpu1/online (下线cpu)
    v. mount -t tmpfs none /mnt/tmpfs (物理内存挂成分区)
    
    RHCA 442-5(1)
  22. strace
    a. kernel space(system call)
    b. strace updatedb
    c. strace -e trace=network ping -c1 i
    d. strace -e trace=file ls /
    e. strace -p 1
    f. strace -c updatedb
  23. ltrace
    a. user space(library call [glibc])
    b. ltrace updatedb
    c. ltrace ls /
  24. systemtap
    a. yum install kernel-debuginfo -y
    i. yum install systemtap
    ii. stap -c /usr/share/doc/systemtap-client-3.0/examples/profiling/topsys.stp
    
    b. stap -v abc.stap
    c. staprun abc.ko
    d. stapusr group
    e. stapdev group
    RHCA 442-5(2)
  25. Paging
    a. pages,x86 normal page size is 4KiB
    b. getconf PAGE_SIZE
  26. VSZ
  27. RSS
  28. TLB
  29. mount -t hugetlbfs none /muntpoint
  30. Tune per-BDI Flush Threads
    a. vm.dirty_expire_centisecs
    b. vm.dirty_writeback_centisecs
  31. Oou of Menory(OOM)
  32. Memory Overcommit
    a. sysctl -p | grep overcommit_memory
    b. sysctl -p | grep overcommit_ratio
    c. grep Coomitted_AS /proc/meminfo
  33. SysV IPC
    a. ipcs
    b. ipcs -l
    c. Tune Semaphores
    d. Message queues
    e. Shared memory
    i. kernel.shmmni
    ii. kernel.shmmax
    iii. kernel.shmall
    
    RHCA 442-6(1)
  34. File Systems
    a. EXT3
    b. EXT4
    c. XFS
    d. BTRFS
  35. External Journaling
    a. mkfs.ext4 -O journal_dev -b 4096 /dev/vdb1
    b. mkfs.ext4 -J device=/dev/vdb1 -b 4096 /dev/vda3
    c. blkid
    RHCA 442-6(2)
  36. yum install qperf
  37. sysctl net.ipv4.tcp_low_latency
  38. net.ipv4.tcp_mem/net.ipv4.udp_mem(单位pages)
  39. tc qdisc show
  40. Bonding mode
    a. balance-rr: mode 0
    b. actice-backup: mode 1
    c. 802.3ad: mode 4(工作在2层,需要配交换机)
    d. cat /proc/net/bonding/bond0

  41. MTU(最大传输单元 default 1500bytes)
    a. TCP protocol headers 52 (52/1500=3.5% overhead)
    b. TDP protocol headers 28 (28/1500=1.9% overhead)
    c. Jumbo Frames (MTU bigger that 1500 需要配置交换机)

    i. Official maximum size is 9000 bytes (52/9000=0.58% overhead
    ii. vi /etc/sysconfig/network-scripts/ifcfg/eth0==》"MTU=9000"
    

Markdown基本语法

发表于 2016-08-22

Centos6.4部署puppet3.8.4

发表于 2016-03-05 | 更新于 2016-08-19 | 分类于 Dev Ops

关闭ipatbles和selinux
puppet官网下载puppetyum源
url:http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm
上传至puppet服务器并安装

yum安装puppet-server
yum install puppet-server
启动puppet
chkconfig puppetmaster on
chkconfig puppet on
/etc/init.d/puppetmaster start
/etc/init.d/puppet start
在puppet-server上查看证书
puppet cert list –all

使用apache+passenger运行puppet-server
yum install httpd httpd-devel ruby-devel mod_ssl make gcc gcc-c++ curl-devel openssl-devel zlib-devel
安装rack和passenger
gem install rack

gem install passenger

编译passenger
passenger-install-apache2-module

HAproxy编译安装与配置

发表于 2016-03-05 | 更新于 2017-01-03 | 分类于 Centos

安装haproxy
从官网下载最新稳定版的haproxy-1.6.2.tar.gz,url:http://www.haproxy.org/download/1.6/src/haproxy-1.6.2.tar.gz
放置/root/backup目录下,解压并进入目录
安装编译依赖包前注释掉yum禁止更新内核选项:/etc/yum.conf

安装依赖包:
yum install gcc -y
make TARGET=linux26 PREFIX=/app/haproxy

make install PREFIX=/app/haproxy

验证安装完成

启动命令:
/app/haproxy/sbin/haproxy -D -f /app/haproxy/haproxy.cfg -p /var/run/haproxy.pid

配置文件:

#访问***.com强制转到https://*.com
acl is_pan hdr_beg(host) *****
redirect prefix https://** if is_pan

acl is_cbs hdr_beg(host) *****
redirect prefix https://******** if is_cbs
`</pre>

#通过正则acl转发https协议

    acl is_pans req.ssl_sni *******
    use_backend pans if is_pans

<pre>`acl is_cbss req.ssl_sni ********
use_backend cbss if is_cbss

NFS安装配置

发表于 2016-03-05 | 更新于 2017-01-03 | 分类于 Centos

Cetnos6.6安装NFS
service iptables stop//
vi /etc/selinux/conf disabled
chkconfig iptables off

NFS Server:
1,yum install rpcbind nfs-utils
2,echo “/storage *(rw,async,no_root_squash,no_subtree_check)” >> /etc/exports
3,/etc/init.d/rpcbind start
4,/etc/init.d/nfs start
5,showmount -e 10.161.4.106(查看挂载是否生效)
6,chkconfig rpcbind on
7,chkconfig nfs on

NFS Client:
1,yum install rpcbind nfs-utils
2,showmount -e 10.161.4.106(查看是否能识别到server的挂载)
3,mount -t nfs 10.161.4.106:/storage /storage
4, echo “mount -t nfs 110.161.4.106:/storage /storage” >> /etc/rc.local

nfs服务端修改端口:(客户端不需要修改)
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
LOCKD_UDPPORT=30003
MOUNTD_PORT=30004
STATD_PORT=30005
RDMA_PORT=30006

iptables配置:(客户端不需要修改)
nfs服务器iptables添加允许规则
-A INPUT -p tcp -m tcp –dport 111 -j ACCEPT
-A INPUT -p udp -m udp –dport 111 -j ACCEPT
-A INPUT -p tcp -m tcp –dport 2049 -j ACCEPT
-A INPUT -p udp -m udp –dport 2049 -j ACCEPT
-A INPUT -p tcp -m tcp –dport 30001:30006 -j ACCEPT
-A INPUT -p udp -m udp –dport 3001:30006 -j ACCEPT

1…789…14

Chen Fei

把我的过程记录下来,以免以后忘了

68 日志
15 分类
40 标签
© 2019 Chen Fei
由 Hexo 强力驱动 v3.7.1
|
主题 – NexT.Mist v6.3.0