本文共 2814 字,大约阅读时间需要 9 分钟。
服务器巡检脚本:
#!/bin/bash
phy_cpu=$(sudo cat /proc/cpuinfo | grep "physical id"|sort | uniq | wc -l)logic_cpu_num=$(sudo cat /proc/cpuinfo | grep "processor"| wc -l)cpu_core_num=$(sudo cat /proc/cpuinfo | grep "cores"|uniq|awk -F: '{print $2}')cpu_freq=$(sudo cat /proc/cpuinfo | grep MHz | uniq | awk -F: '{print $2}')system_core=$(uname -r)system_version=$(cat /proc/version)system_hostname=$(hostname | awk '{print $1}')systemc_envirement_variables=$(sudo env | grep PATH)mem_free=$(sudo grep MemFree /proc/meminfo)disk_usage=$(df -h)system_uptime=$(sudo uptime)system_load=$(sudo cat /proc/loadavg)system_ip=$(sudo ifconfig | grep "inet addr" | awk -F: '{print $2}'| awk '{print $1}')mem_info=$(sudo /usr/sbin/dmidecode | grep -A 16 "Memory Device"|grep -E "Size|Locator"|grep -v Bank)mem_total=$(sudo grep MemTotal /proc/meminfo)day01=$(date +%Y)day02=$(date +%m)day03=$(date +%d)path=inspection.txt
echo -e " " > $pathecho -e $day01年$day02月$day03系统巡检报告 >> $pathecho -e 主机名:"\t"$system_hostname >> $pathecho -e 服务器IP: "\t"$system_ip >> $pathecho -e 系统内核: "\t"$system_core >> $pathecho -e 操作系统版本:"\t"$system_version >> $pathecho -e 磁盘使用情况: "\t""\t" $disk_usage >> $pathecho -e CPU核数:"\t"$cpu_core_num >> $pathecho -e 物理CPU个数:"\t"$phy_cpu >> $pathecho -e 逻辑CPU个数:"\t"$logic_cpu_num >> $pathecho -e 系统环境变量:"\t"$systemc_envirement_variables >> $pathecho -e CPU的主频:"\t"$cpu_freq >> $pathecho -e 内存简要信息:"\t"$mem_info >> $pathecho -e 内存总大小:"\t"$mem_total >> $pathecho -e 内存空间: "\t"$mem_free >> $pathecho -e 时间/系统运行时间/当前登陆用户/系统过去1分钟/5分钟/15分钟内平均负载/"\t"$system_uptime >> $pathecho -e 1分钟/5分钟/15分钟平均负载/在采样时刻,运行任务的数目/系统活跃任务的个数/最大的pid值线程/ "\t"$system_load >> $path性能调优整体思路
空间换时间 对热点数据缓存,减少数据查询时间。分而治之 将大任务切片,分开执行。HDFS、MapReduce就是这个原理。异步处理 若业务链中有某一环节耗时严重,则该环节将拉长业务链的整体耗时。可以将耗时业务采用消息队列异步化,从而缩短业务链耗时。并行处理 采用多进程、多线程同时处理,提升处理速度。离用户更近一点 如CDN技术,将静态资源放到离用户更近的地方,从而缩短请求静态资源的时间。提升可扩展性 采用业务模块化、服务化的手段,提升系统的可扩展性,从而可根据业务需求实现弹性计算。转载于:https://blog.51cto.com/13120271/2333331