自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (2)
  • 收藏
  • 关注

转载 Pinterest 架构:两年内月 PV 从零到百亿

Pinterest正经历了指数级曲线般的增长,每隔一个半月就翻番。在这两年里,Pinterest,从 每月PV量0增长到100亿,从两名c创始人和一个工程师成长为四十个工程师,从一台MySQL 服务器增长到180台Web 服务器(Web Engine),240台接口服务器(API Engine), 88台MySQL 数据库 (cc2.8xlarge) ,并且每台DB有一个备份服务器,110台Red

2016-01-28 23:12:02 1136

原创 nginx常用超时设置

# 客户度连接nginx超时, 建议5s内# 接收客户端header超时, 默认60s, 如果60s内没有收到完整的http包头, 返回408Syntax: client_header_timeout time;Default:client_header_timeout 60s;Context: http, serverDefines a timeout for readi...

2016-01-27 15:59:54 2264

原创 云存储平台之运营

BS2(Blob Storage Service)是我们平台的简写,云存储平台主要是为任意格式文件提供临时或者永久的存储服务,用户可以通过调用API,在任何应用、任何时间、任何地点上传和下载数据。这篇文章不涉及技术细节,主要是一些运营体系的理念。

2016-01-25 11:59:47 3416

原创 linux查看进程线程数

基本概念:线程是最小调度单位

2016-01-21 10:21:19 15054

原创 linux常用解压缩命令

#解压tartar -xvf file.tar#解压tar.gztar -xzvf file.tar.gz#解压 tar.bz2tar -xjvf file.tar.bz2#解压tar.Ztar -xZvf file.tar.Z#解压rarunrar e file.rar#解压zipunzip file.zip#解压tgztar zxvf file.tgz

2016-01-21 00:24:45 839

原创 linux监控进程物理内存

方法比较多,提供一种最简单的:#!/bin/bashPROCESS="./a.out" #进程名MAXMEM=1048576 #最大物理内存阀值,单位KBID=`ps -ef | grep "${PROCESS}" | grep -v "grep" | awk '{print $2}'`if [ ! -n "$ID" ]; then echo "$PROCES

2016-01-21 00:20:36 1614

原创 linux查看机器网卡带宽

1.查看网卡ifconfigeth0,eth1,eth2......代表网卡1、网卡2、网卡3、……lo代表127.0.0.1,即localhostbond0表示双网卡绑定2.指定网卡查看带宽iftop -i eth03.指定网卡并显示IP端口iftop -i eth0 -P -nN4.>>箭头表示传输方向

2016-01-20 23:37:42 13752

原创 linux查看进程的运行路径

方案一:lsof -p $pid | grep cwd方案二:ls -l /proc/$pid/cwd

2016-01-20 22:54:46 4229

原创 linux查看进程的启动时间

关键点:使用ps命令ps -eo pid,lstart | grep $pid

2016-01-20 22:42:10 1128

原创 linux根据端口号找出进程名

1.使用lsof找出pidlsof -i:222.使用netstat找出pid#找出非监听端口netstat -ntp | grep ":22"#找出监听端口netstat -ntpl | grep ":22"3.使用ps找出进程名ps -ef|grep $pid

2016-01-20 22:37:09 16371

原创 linux查找被删除但是未释放空间的文件

清理磁盘空间时,rm掉文件后,发现磁盘空间并没有释放,根本是原因是文件被进程打开中,文件描述符未被释放关键点:利用lsof命令查看lsof | grep deleted

2016-01-20 22:21:56 7510

原创 linux统计TCP端口的连接数

关键点:使用netstat命令netstat -natl | grep ":80" | awk '{print $6}' | sort | uniq -c | sort -nr

2016-01-20 22:08:25 2247

原创 linux查找指定大小的文件

关键点:使用find命令#找出当前目录[3KB,10KB]大小的文件find ./ -size +3k -a -size -10k#找出当前目录大于1个字节的文件find ./ -size +1c#找出当前目录0字节的文件find ./ -size 0c #删除当前目录0字节的文件rm -rf `find ./ -size 0c`

2016-01-20 21:52:35 8689

原创 linux获取网站的响应时间

一个简易的抓包脚本----- url_check.sh -----#!/bin/bashif ! [ $# -eq 1 ]then echo "Usage For example:" echo "$0 www.yy.com" exit -1fidomain=$1echo "输入URL:"$domainecho ""echo "开始curl检测:"

2016-01-20 21:41:45 2540

原创 linux查看磁盘和目录空间

1.查看磁盘使用率df -h2.查看单个目录的挂载情况(目录属于哪个分区)df -h /home3.查看目录下的文件夹和文件大小du -sh *

2016-01-20 21:22:00 3186

转载 支付宝的高可用与容灾架构演进

持续可用和快速容灾切换的能力,是技术人员追求的极致目标。在架构设计中,容灾设计强调的是系统对外界环境影响具备快速响应能力,节点级别的快速恢复能力,保障系统的持续可用。去年12月18日,全球架构师峰会上,阿里巴巴高级系统工程师曾欢(善衡)结合互联网金融业务及系统特性,分享了在支付宝系统架构演进中,每个阶段的高可用和容灾能力建设的解决思路。

2016-01-20 19:21:04 5359

原创 shell脚本标准输出赋值给变量

方案一:#!/bin/bashstring="hello world!"result=$(echo $string)echo $result方案二:#!/bin/bashstring="hello world!"result=`echo $string`echo $result

2016-01-20 00:57:04 30822 3

原创 awk分割字符串

关键:-F 参数#!/bin/bashstring="www.csdn.net"echo $string | awk -F '.' '{print $0}'echo $string | awk -F '.' '{print $1}'echo $string | awk -F '.' '{print $2}'echo $string | awk -F '.' '{print

2016-01-20 00:45:07 4910

原创 wget调试信息重定向到文件

关键点:wget命令的调试信息是标准错误(2),不是标准输出(1)#!/bin/bashurl="www.baidu.com"outputfile="outputfile"wget -S "$url" 2>>$outputfile

2016-01-20 00:33:18 4796

原创 linux文件一致性校验

方案一 md5校验:#!/bin/bashfilename="1.jpg"md5sum $filename结果:b019e55fe5c630e3c74aec19c9858d21  1.jpg方案二 sha1校验:#!/bin/bashfilename="1.jpg"sha1sum $filename结果:b98bf72c5b

2016-01-20 00:24:07 2876

原创 shell判断字符串为空

可通过调整string的值来测试:#!/bin/bashstring="hello world!"if [[ "$string" != "" ]]then echo $stringelse echo "string is empty!"fi

2016-01-20 00:20:40 1095

原创 shell循环

方法比较多,提供一种类似C语言的,注意双括号#!/bin/bashnum=10for((i=0;i<$num;i++))do echo "$i hello world!"done

2016-01-20 00:04:29 725

原创 shell死循环

实现死循环的方法比较多,提供一种最简单的:#!/bin/bashwhile truedo echo "hello world!" sleep 1done

2016-01-19 23:55:33 2121

原创 shell按行读取文件

方法比较多,提供两种比较简单的:

2016-01-19 23:50:26 880

转载 MySQL的btree索引和hash索引的区别

Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。可能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大家不都用 Hash 索引而还要使用 B-Tree 索引呢?任何事物都是有两面性的,Ha

2016-01-18 22:34:26 873

转载 从0到1:微信后台系统的演进之路

2个月的开发时间,微信后台系统经历了从0到1的过程。从小步慢跑到快速成长,经历了平台化到走出国门,微信交出的这份优异答卷,解题思路是怎样的?本文由张文瑞,微信后台团队出品。从无到有2011.1.21 微信正式发布。这一天距离微信项目启动日约为2个月。就在这2个月里,微信从无到有,大家可能会好奇这期间微信后台做的最重要的事情是什么?我想应该是以下三件事:1确定了

2016-01-16 18:52:11 1285

原创 IPC之Posix共享内存详解

1.概念  共享内存区,按标准可分为Posix共享内存区和System V共享内存区,两者在概念上类似。  Posix 表示可移植操作系统接口(Portable Operating System Interface ,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准,是IEEE为要在各种UNIX操作系统上运行的软件而定义的一系列API标准的总称,其正式称

2016-01-12 00:22:53 8221 1

转载 来自 Google 的高可用架构理念与实践

编者按:高可用架构分享及传播在架构领域具有典型意义的文章,本文由前 Google SRE 孙宇聪分享。转载请注明来自高可用架构公众号 ArchNotes。孙宇聪,CTO @ coding.net 。2007 - 2015 年初在 Google 的 Moutain View 担任 SRE 职位。 参与了 Google 的两个项目:第一个是 Youtube,工作内容涵盖 Video

2016-01-11 10:11:53 897

原创 IPC之Posix内存映射文件详解

1.什么是内存映射文件   内存映射文件,就是把磁盘上的物理文件映射至进程地址空间中,使用内存映射文件的特性是,所有的I/O都是在内核掩盖下完成,我们只需编写存取内存映射区中各个值的代码,也就是不需要调用read/write/lseek。 如图示:  2.内存映射文件与read文件时物理内存占用区别  需要了解物理内存和进程空间地址的映射关系。  可以通过 top -p...

2016-01-10 20:44:25 1805

原创 C语言实现的线程池

概念:  如果一个程序每处理一个任务都需要创建一个线程来处理,假设创建线程的时间为T1,任务执行的时间为T2,线程销毁的时间为T3,那么线程的有效使用时间率为T2/(T1+T2+T3),如果任务执行的时间非常短,那么线程的使用效率就会非常低,这对高并发的服务器性能来说是不能接受的,所以需要引入线程池概念。注意点:1.线程同步问题,互斥锁,条件变量,信号量都可以用于线程同步,单纯

2016-01-07 23:28:54 2717 2

转载 20个命令行工具监控 Linux 系统性能

对于每个系统管理员或网络管理员来说,每天要监控和调试 Linux 系统性能问题都是非常困难的工作。我已经有5年 Linux 管理员的工作经历,知道如何监控系统使其保持正常运行。为此,我们编写了对于Linux/Unix 系统管理员非常有用的并且最常用的20个命令行系统监视工具。这些命令可以在所有版本的 Linux 下使用去监控和查找系统性能的实际原因。这些监控命令足够你选择适合你的监控场景。

2016-01-06 14:08:30 1109

原创 线程同步:条件变量实现生产者消费者模型

概念:  假设实现一个生产者消费者模型,仓库只能装100万件item,生产者每次生产1件,消费者每次消费1件,为了保持数据的同步,那么生产者每次都需要检查仓库是否满了,消费者每次都需要检查仓库是否空了,在加上互斥锁前提下,数据是能得同步保证的。循环的访问且每次都给互斥锁加锁解锁,又称为轮询,如果经常做无用功则线程一直在空转,十分浪费CPU。如果在仓库满了,我们希望生产者停下来等待,同理如果仓库

2016-01-05 22:23:38 2158

原创 epoll:EPOLLET模式下的正确读写方式

1.EPOLLLT和EPOLLET最大的区别在于事件的通知机制,看这个文章EPOLLLT和EPOLLET的区别2.EPOLLET模式下并不意味着要循环读取完缓冲区的所有数据,贴出一段读取代码:n = 0;while ((nread = read(fd, buf + n, BUFSIZ-1)) > 0) { n += nread;}if (nread == -1 &&

2016-01-04 23:25:46 4956

原创 epoll:EPOLLLT模式下的正确读写方式

epoll编程需要关注以下一些细节:1.进程可打开的最大文件描述符,通过ulimit -a查看open files选项2.read函数的返回值与errno,errno为EAGAIN和EINTR的含义,要如何处理?3.write函数的返回值与errno,errno为EAGAIN和EINTR的含义,要如何处理?4.epoll的events的含义,man 2 epoll_ctl有详细注解

2016-01-02 21:25:49 5905

linux环境的wmi-1.3.13.tar.bz

linux下的wmic命令,用于查询windows服务器主机的状态

2012-10-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除