运维技术
快乐的霖霖
一个人默默的奋斗者
展开
-
让程序在screen模式下运行
让程序在screen模式下运行 screen -S yourname -> 新建一个叫yourname的session, 然后输入你要执行的命令 screen -ls -> 列出当前所有的session screen -r yourname -> 回到yourname这个session screen -d yourname -原创 2015-07-23 17:19:50 · 1035 阅读 · 0 评论 -
SSH常用参数
SSH常用参数ssh -o ConnectTimeout=3 -o ConnectionAttempts=5 -o PasswordAuthentication=no -o StrictHostKeyChecking=no $ip “command”1 ConnectTimeout=3 连接时超时时间,3秒2 Co原创 2016-08-11 22:33:59 · 5094 阅读 · 0 评论 -
python打包列表文件到一个包
python打包列表文件到一个包def tar_file(tarfile_list): ret = os.system('tar pzcvf /x.tar.gz %s' % (' '.join(tarfile_list))) if ret == 0: return True else: return False原创 2016-08-15 13:36:51 · 1358 阅读 · 0 评论 -
集群内机器重启
集群内机器重启 在云计算环境下,一个集群代表一堆机器组成的机器组,一般由一个admingateway打通通道(ssh安全通道)到该集群中的其他机器。 集群里面的机器经常会出现问题,然后就会导致admingateway不能ssh到坏的机器,这个时候重启机器就会有两种方式: 1. 能够ssh到那台机器,直接sudo reboot。 2. 不能原创 2016-11-02 22:41:11 · 1209 阅读 · 0 评论 -
在生产中使用金丝雀部署来进行测试
在生产中使用金丝雀部署来进行测试 金丝雀测试是指,一小部分服务器被升级到一个新版本或者新配置,随后保持一定的孵化期。如果没有任何未预料的问题发生,发布流程就会继续,其他的软件服务器也会被逐渐升级到新版本。如果发生了问题,这个单独修改过的软件服务器可以很快被还原到已知的正常状态下。经常使用“烘烤这个二进制文件”来指代这个过程。 根据Nol原创 2016-10-22 20:01:20 · 6882 阅读 · 0 评论 -
平时积累
平时积累1. 相关命令: 1). ll -ltr 排序查看文件 2). grep “” -r | vim - 3). pstack pid | vim - 显示每个进程的栈跟踪 4). ps auxf 5). gdb binary -c core文件 查看core文件原创 2016-09-28 09:49:00 · 776 阅读 · 0 评论 -
Linux下获取磁盘空间利用率方式
Linux下获取磁盘空间利用率方式 下面使用python语言来讲解如何获取磁盘空间利用率的问题。 1. os.statvfs(path) 方法用于返回包含文件描述符fd的文件的文件系统的信息,其中path表示文件路径。 可以使用下面代码获取: hddinfo = os.statv原创 2016-11-05 19:49:55 · 3905 阅读 · 0 评论 -
提高单机短连接QPS到20万
提高单机短连接QPS到20万转载于http://weibo.com/ttarticle/p/show?id=2309404037884855362229。 一般的通讯协议在设计上都避免服务器端主动发起TCP连接关闭,让客户端来发起close socket,避免服务器端端口和内存的资源消耗默认情况下,客户端关闭TCP连接后本地的临时端口会长时间进入TIME_转载 2016-11-05 22:49:24 · 3333 阅读 · 2 评论 -
screen窗口管理器常用操作
screen窗口管理器 screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。 1. 创建新的screen会话screen [command] [-S name]2. Detach 会话screen –d [screen name]3. Reattach 会话screen –r screen-name原创 2016-08-17 15:28:17 · 9330 阅读 · 0 评论 -
分布式系统failover测试之拔盘插盘操作
分布式系统failover测试之拔盘插盘操作 拔盘: echo "scsi remove-single-device 1 0 0 0" > /proc/scsi/scsiecho "scsi remove-single-device 2 0 0 0" > /proc/scsi/scsiecho "scsi remove-single-device 3 0 0原创 2016-11-11 19:15:23 · 1533 阅读 · 0 评论 -
如何设置ntp出现漂移的问题
如何设置ntp出现漂移的问题1、执行date命令,查看该host机器时间是否正常2、找到ntp服务器,执行ntpdate time.ntp.org3、在crontab中添加"0 12 * * * * /usr/sbin/ntpdate"原创 2017-04-10 10:39:53 · 1118 阅读 · 0 评论 -
SLA的基本概念
SLA的基本概念 现在的产品和系统都非常的复杂,彼此连接依赖越来越复杂,为了整体的高速运转,对每个部件的稳定性越来越高,越来越精密,发展到一定程度,人力已经无法掌控,任何一个组件出异常都有可能牵一发而动全身,影响全局。每个部件的稳定性和精密程度决定了整体的工程质量,也决定了整体的发展速度。 一. 定义SLI(Service Level Indicator原创 2017-07-02 00:27:17 · 40791 阅读 · 0 评论 -
网卡亲缘性原理小结
网卡亲缘性原理小结网卡亲缘性设定涉及到以下基础知识:cpu处理硬件中断中断就是CPU与计算机硬件进行通信的方式。当硬件产生电信号以后,将此信号发送到中断控制器,中断控制器向CPU发送信号,CPU 检测到该信号后,就中断当前的工作转而去处理中断,网卡收到一定的数据后,驱动会产生中断,然后交由CPU来处理多网卡队列如果linux内核版本>=2.6.2原创 2016-08-22 00:45:16 · 1428 阅读 · 0 评论 -
tsar工具使用
tsar工具使用Tsar是淘宝的一个用来收集服务器系统和应用信息的采集报告工具,如收集服务器的系统信息(cpu,mem等),以及应用数据(nginx、swift等),收集到的数据存储在服务器磁盘上,可以随时查询历史信息,也可以将数据发送到nagios报警。Tsar能够比较方便地增加模块,只需要按照 tsar 的要求编写数据的采集函数和展现函数,就可以把自定义的模块加入到原创 2016-08-22 00:27:33 · 6450 阅读 · 0 评论 -
vim如何选中多行后批量缩进
vim如何选中多行后批量缩进 1. ”shift+v“选中行 2. 使用"=="进行缩进原创 2016-08-30 16:43:54 · 14981 阅读 · 0 评论 -
集群AG上拉取集群内其他机器的文件
集群AG上拉取集群内其他机器的文件前提是:这个文件是在集群每个机器的相同位置,而且文件名是一样的。举个例子: iplist_tubo是集群机器列表。 /home/tops/bin/pssh -i -h iplist_tubo "cat /apsara/chenglin/testing/run2/proxy_rw_qps_test_60_40_20_100原创 2015-07-23 17:22:44 · 1172 阅读 · 0 评论 -
让机器所有的cpu核打满
让机器所有的cpu核打满 下面的程序可以将一个机器所有的cpu核打满: #include #include #include #define __USE_GNU#include #include #include #include void thread_func(int n){ cpu_set_t mask; CPU_Z原创 2015-10-19 20:40:59 · 2807 阅读 · 0 评论 -
RPM包相关介绍
RPM包相关介绍一、编写spec脚本 由前面的日志了解到,生成rpm除了源码外,最重要的就是懂得编写.spec脚本。rpm建包的原理其实并不复杂,可以理解为按照标准的格式整理一些信息,包括:软件基础信息,以及安装、卸载前后执行的脚本,对源码包解压、打补丁、编译,安装路径和文件等。 实际过程中,最关键的地方,是要清楚虚拟路径的位置,以及宏的定义。 二、关键字转载 2015-11-28 14:30:19 · 1144 阅读 · 0 评论 -
分布式系统全链路监控方案设计
分布式系统全链路监控方案设计 在分布式系统中,全链路监控系统,跟踪requestid经过了哪些server,方便定位log的位置,能在一定程度上缓解维护压力。原创 2015-12-23 10:02:52 · 11282 阅读 · 0 评论 -
计算C++ so文件的MD5,防止依赖的so版本提升导致的问题
计算C++ so文件的MD5,防止依赖的so版本提升导致的问题 利用: readelf -d **.so | grep NEEDED | awk '{print $5}' | sort | xargs | md5sum | cut -f1 | awk '{print $1}' c++代码中使用popen函数来拿到值。原创 2016-04-17 15:25:56 · 2507 阅读 · 0 评论 -
Jenkins+Docker搭建持续集成测试环境
Jenkins+Docker搭建持续集成测试环境本文将重点讨论在Jenkins管理的持续集成以及测试的环境中,我们如何通过引入Docker来优化资源的配置,提高整个环境的性能以及稳定性。关于JenkinsJenkins是被广泛应用的持续集成、自动化测试、持续部署的框架,甚至有些项目组顺便将其用来做流程管理的工具。根据任务的多寡,Jenkins通常有两种典型的部署转载 2016-06-28 11:59:49 · 8495 阅读 · 0 评论 -
Linux上搭建Jenkins
Linux上搭建Jenkins 下面给出Linux上搭建Jenkins的环境,教你一步步搭建起来。 1. Jenkins下载 Jenkins 下载网址: Download Jenkins Jenkins 最新版本: jenkins_1.514_all.deb(Ubuntu/De原创 2016-07-24 20:18:19 · 1151 阅读 · 0 评论 -
互联网系统可靠性基础:正确的异常处理
互联网系统可靠性基础:正确的异常处理 系统的可靠性比性能、高并发更重要。没人希望整天分析错误数据、修复错误数据。任何一个错误都可能导致客户的损失。 成熟可靠的系统和不可靠系统之间的差别很大程度取决于:异常的正确处理。经验丰富的程序员和经验不丰富的程序员之间的差别是是否考虑到并正确处理可能发生的各种异常。这和处理用户输入数据的验证非常相似。转载 2016-07-24 21:58:21 · 1885 阅读 · 0 评论 -
使用Docker实现持续集成
使用Docker实现持续集成基于Docker的特征,现在常见的利用Docker进行持续集成的流程如下:开发者提交代码;触发镜像构建;构建镜像上传至私有仓库;镜像下载至执行机器;镜像运行。其基本拓扑结构如图1所示。原创 2016-07-09 16:53:35 · 1660 阅读 · 0 评论 -
linux xargs命令使用
linux xargs命令使用 基本的命令是:command | xargs: -I 选项 格式: xargs -I rep-str comand rep-srt, 其中rep-str 为代替传递给xargs参数, 可以使 {} $ @ 等符号 ,其主要作用是当xargs原创 2016-08-27 13:32:55 · 822 阅读 · 0 评论 -
Linux 性能监控、测试、优化工具
Linux 性能监控、测试、优化工具监控测试优化转载于:http://chuansong.me/n/1958160转载 2016-08-17 19:27:32 · 808 阅读 · 0 评论 -
DevOps的应用
DevOps的应用DevOps的核心理念是通过各种方法在各个团队之间牵线搭桥,让他们相互走到对方的世界中去,了解彼此,并提供自己的想法,帮助对方,推动团队之间的协同与合作。为此,需要在三个方面努力。1.人员一方面,对现有人员进行培训,鼓励他们了解别的团队面临的工作挑战等,让他们用自己的特长去审视和帮助别的团队;另一方面,想办法招一些全面的技术人才,在原创 2017-08-27 15:22:57 · 1239 阅读 · 0 评论