Linux
文章平均质量分 84
徐汉彬-技术
原腾讯研发团队Leader,T3-3级工程师,曾负责QQ会员、鹅漫U品、AMS活动运动平台平台(高峰期日请求13亿)和腾讯信息流商业化推荐系统等项目的架构和研发工作。
展开
-
面向大规模流量活动的高可用架构实践
今天分享的主题的是《面向大规模流量活动的高可用架构实践》,在开始之前先做个简单的自我介绍,我叫徐汉彬,之前负责过QQ会员活动运营平台,把这个平台从日PV百万级别做到10亿级别,在应对大流量活动这一块积累了一定的经验,今天就这个主题方向跟大家做一个探讨。分享的内容主要分为三个部分:1.大流量活动的系统扩容评估方法2.系统高可用架构设计实践3.大规模流量活动的实践案例大流量活动的系统扩容评估方法大流量活动有多种形式,除了我们常见的电商大促(双11、618等),近几年还兴起了原创 2021-06-05 18:07:30 · 479 阅读 · 1 评论 -
日请求亿级的QQ会员AMS平台PHP7升级实践
注:这里所提到的IE是指的“IE7及以下版本的”。你有没有遇到过定义为block的a的范围在IE7及以下版本中是没办法点击的,即点击范围是0?你所设置的a样式是不是这样:1. 绝对定位;2. 内容为空。还有另外一种情况是,你设置的a为block,并且设定了height和width,但实际上,有可点击的地方,但是可点击范围却不是你预想的,即范围是小于这个height和width。那你所设置的a样式是原创 2017-03-16 22:25:21 · 359 阅读 · 0 评论 -
Linux下,安装mod_wsgi时,遇到的一些问题
1. 系统中找不到apxs可执行文件使用yum或者rpm直接安装httpd的情况下,所安装的Apache Webserver并没有安装用于编译的mod.so的开发模块apxs。这个扩展需要通过安装httpd_devel来得到,例如:yum install httpd-devel同样,其它需要编译mod.so文件的情况,也需要安装httpd_devel。 2. 缺少各类.h文件,例如缺少python原创 2017-03-16 22:23:27 · 2577 阅读 · 0 评论 -
linux下面启动apache服务器
如果是linux自己带的apache的话就使用命令 service httpd start 启动 service httpd stop 关闭 service httpd restart 重新启动 如果不是linux自带的apache,或者你的linux根本就没带,是你自己按在/usr/local的话。 进入/usr/local/bin下 cd /usr/local/bin原创 2017-03-16 22:23:30 · 350 阅读 · 0 评论 -
在linux下建立软链接(可认为是快捷方式)
1. 使用方式:ln [option] source_file dist_file -f 建立时,将同档案名删除. -i 删除前进行询问. ln -s abc cde 建立abc 的软连接 ln abc cde 建立abc的硬连接, 2.原创 2017-03-16 22:23:33 · 1283 阅读 · 0 评论 -
Linux下设置MySQL和允许外部机器访问
sudo vi /etc/my.cnf具体目录是具体情况而定,有的人是安装了在个人目录下,则找到对应的目录则可以。一、配置文件的修改 1.#sudo vim /etc/mysql/my.conf 找到 bind-address = 127.0.0.1 注释掉这句话二、Mysql数据库的修改1) [root@etc etc]# mysql -u root -pEnter password:2)gra原创 2017-03-16 22:23:42 · 3021 阅读 · 0 评论 -
Linux下crontab简单介绍
crontab命令的功能是在一定的时间间隔调度一些命令的执行。在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab。 crontab命令有三种形式的命令行结构: crontab [-u user] [file] crontab [-u user] [-e|-l|-r] crontab -l -u [-e|-l|-r] 第一个命令行中,原创 2017-03-16 22:23:44 · 285 阅读 · 0 评论 -
linux-shell-chmod,chown,chgrp-文件安全与权限
touch 创建文件 stat 查看文件详细信息 文件类型 d 目录。 l 符号链接(指向另一个文件)。 s 套接字文件。 b 块设备文件。 c 字符设备文件。 p 命名管道文件。 - 普通文件 文件的权限位 -rw-r--r- rw-:前三位,文件属主可读、原创 2017-03-16 22:23:47 · 299 阅读 · 0 评论 -
Hadoop编程入门,统计单词出现数目wordcount
编程环境:Windows + Netbeans(在windows下编写mapReduce,然后在Linux下执行)一、准备阶段首先,我的java库里是很多类都没有的,因为,我到Linux系统中copy了hadoop/lib库里的必要jar,加载到了我的Netbeans里,使用eclipse的同学也需要加载到自己那边去。这个程序使用到的包括:hadoop/hadoop-core-0.20.2-CDH原创 2017-03-16 22:23:56 · 801 阅读 · 0 评论 -
Linux下增加swap虚拟内存(转)
总体步骤目录:[root@v300 ~]# free – m 查看内存[root@v300 tmp]# dd if=/dev/zero of=/tmp/big_swap bs=1024 count=2000000 创建一个2G的文件[root@v300 tmp]# du -sh /tmp/big_swap 查看文件大小[root@v300 tmp]# mkswap /tmp/big_swap 将原创 2017-03-16 22:24:25 · 326 阅读 · 0 评论 -
redis机器物理死机问题分析(OOM)
问题的表现在测试主搜索增量bolt的loader程序的时候,它有一步是将数据加载到redis里。在平时做测试的时候,几次发生做loader导致了redis所在的测试机器死机(物理死机)。问题分析造成了物理死机,我们初步认为是由于测试机器内存不足,而数据量过大,导致内存爆满,最后死机的。觉得需要寻找一种解决机器挂掉的方法,后来发现/home/admin/redis/bin/redis-cli inf原创 2017-03-16 22:24:28 · 1563 阅读 · 0 评论 -
给Mysql源程序打Patch的方法
1.cd 到源代码文件夹下[@my064111.sqa.cm4 ~]$cd mysql-5.1.48 [@my064111.sqa.cm4 ~/mysql-5.1.48]准备好bin.diff文件 2. 执行patch命令[@my064111.sqa.cm4 ~/mysql-5.1.48]$patch -p1 patching file sql/log_event.ccpatching file原创 2017-03-16 22:24:42 · 3191 阅读 · 0 评论 -
OProfile分析服务的瓶颈和CPU100%问题的利器
OProfile是一个非常好的工具,在Linux下分析一个软件或者服务的系统消耗和占用,进而辅助我们找到系统的瓶颈。例如,我们开启Oprofile在redis服务中,然后找到结果中redis耗时最多的几个函数,然后去了解这些函数是用在了什么地方,是否可以优化或者避免。Oprofile的安装流程网上很多,就不写了哈。我写了一个方面测试的shell脚本,在安装好Oprofile后,可以很方便地用来测试原创 2017-03-16 22:26:25 · 469 阅读 · 0 评论 -
应对节日高峰-Web架构实践
今天要分享的主题是关于QQ会员活动运营平台的架构实践。首先做一个简单的自我介绍,我叫徐汉彬,现在在腾讯的SNG增值产品部工作,主要负责QQ会员生活特权以及今天分享的AMS系统的研发建设。今天我要分享的内容主要分为三部分:QQ增值业务在海量请求下的技术挑战以及背景; Web系统高并发场景的综合优化策略; 平台高可用的建设实践。活动有很多特性,今天的主题主要关注点是在节假日高流量的推广,...原创 2017-03-16 22:27:04 · 1568 阅读 · 0 评论 -
yum命令详解
一. yum是什么 yum = Yellow dog Updater, Modified 主要功能是更方便的添加/删除/更新RPM包. 它能自动解决包的倚赖性问题. 它能便于管理大量系统的更新问题 注:为什么要使用yum而不用apt,最简单的原因,Fedora自带 二. yum特点 *可以同时配置多个资源库(Repository) *简洁的配置文件(/etc/yum.conf)原创 2017-03-16 22:23:24 · 384 阅读 · 0 评论 -
linux下多命令混合的执行顺序
linux下多条命令混合的执行顺序我们将将多条Linux命令混合在一起使用,它执行的顺序一般如下所示:例如:df |grep home |awk -F' ' '{print $5}' |cut -d'%' -f1这句命令的执行顺序为:1. 首先是df2. 然后通过grep home 获得想要的对应行3. 在使用awk 用空格分隔字符,得到第五个分隔部分4. 最后使用cut 命令分隔%,取前一部分执原创 2017-03-16 22:23:21 · 808 阅读 · 0 评论 -
linux(redhat)下 配置java环境
1需要的软件(我安装的版本)jdk-6-linux-i586.binjakarta-tomcat-5.0.30.tar.gz2安装步骤安装jdk1 jdk-6-linux-i586.bin先是看licence然后你软件yes就可以了解压后要得文件夹jdk1.6.0我把它考进了/usr/java/文件夹下(mkdri /usr/javamv jdk1.6.0 /usr/java)2配置环境变量(ro原创 2017-03-16 22:20:09 · 769 阅读 · 0 评论 -
ubuntu下安装mysql环境
手动安装mysql shell> groupadd mysql shell> useradd -g mysql mysql shell> gunzip shell> cd mysql-VERSION shell> ./configure --prefix=/usr/local/mysql shell> make shell> make in原创 2017-03-16 22:20:12 · 275 阅读 · 0 评论 -
Linux系统下的svn常用命令
1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2、往版本库中添加新的文件svn add file例如:svn add test.php(添加test.php)svn add *.php(添加当前目录下所有的php文件) 3、将改动的文件提交到原创 2017-03-16 22:21:59 · 232 阅读 · 0 评论 -
Linux系统下的vi编辑命令
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filena原创 2017-03-16 22:22:02 · 304 阅读 · 0 评论 -
linux下的grep详细命令
linux下的grep用法详解Grep : g (globally) search for a re (regular e-xpression ) and p (print ) the results. 1、参数: -I :忽略大小写 -c :打印匹配的行数 -l :从多个文件中查找包含匹配项 -v :查找不包含匹配项的行 -n:打印包含匹配项的行和行标 2、RE(正则表达式) \ 忽略正则表原创 2017-03-16 22:22:08 · 240 阅读 · 0 评论 -
改变SecureCrt的Session标题(转)
恩,很多人使用securecrt很郁闷的一件事情是它的session标题特别是我们这种通过一个通道服务器登录其他服务器的哥们……每次上去session标题显示的都是保存在书签那个标题恩……登录服务器太多了,就很容易搞错,今天就郁闷了一会google了,发现securecrt支持Xterm Escape Sequences,在它自己的帮助里面也写了,恩可以用这样的命令来指定标题,以下讨论仅适用于sh原创 2017-03-16 22:22:13 · 3785 阅读 · 0 评论 -
Linux下rpm常用命令
rpm 常用命令1.安装一个包 # rpm -ivh 2.升级一个包 # rpm -Uvh 3.移走一个包 # rpm -e 4.安装参数 --force 即使覆盖属于其它包的文件也强迫安装 --nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。 5.查询一个包是否被安装 # rpm -q 6.得到被安装的包的信息 # rpm -qi 7.列出该包中有哪些文原创 2017-03-16 22:22:21 · 3075 阅读 · 0 评论 -
Linux下tar压缩和解压缩命令
tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。 -z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到标准输出 下面的参数-f是必须的 -f: 使用档案原创 2017-03-16 22:22:30 · 191 阅读 · 0 评论 -
Linux下的expect
一、概述 我们通过Shell可以实现简单的控制流功能,如:循环、判断等。但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如telnet服务器等进行交互的功能。而Expect就使用来实现这种功能的工具。 Expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预。Expect的作者Don Libes在1990年 开始编写Expect时对原创 2017-03-16 22:22:53 · 309 阅读 · 0 评论 -
linux awk命令
awk是一种用于处理数据和生成报告的编程语言。一般的使用格式是:awk '{pattern + action}' {filenames} pattern指在每一行中进行匹配的条件,action指针对符合条件的行进行的操作,filenames是输入的文件名。假设data文件中有以下数据:1 donald 305 200501292 chin 102 200401293 mark 304 200402原创 2017-03-16 22:22:56 · 202 阅读 · 0 评论 -
linux shell 自定义函数(定义、返回值、变量作用域)
linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。下面说说它的定义方法,以及调用需要注意那些事项。 一、定义shell函数(define function) 语法: [ function ] funname [()] { action; [return int;] } 说明: 1、可以带fu原创 2017-03-16 22:23:01 · 434 阅读 · 0 评论 -
Linux下grep显示多行信息
标准unix/linux下的grep通过以下参数控制上下文 grep -C 5 foo file 显示file文件中匹配foo字串那行以及上下5行grep -B 5 foo file 显示foo及前5行grep -A 5 foo file 显示foo及后5行 查看grep版本的方法是grep -V 如果想升级,升级的方法:最新的源码(google或者百度搜索主页),编译安装到某个地方,比如原创 2017-03-16 22:23:07 · 3624 阅读 · 0 评论 -
Linux cut命令
一个非常有用的命令,主要用来提取各种各样的数据。cut -cchars file如:-c5 提取第5个字符-c5- 提取第5个字符以后的字符-c1,5,12 提取多个字符,中间用“,”符号隔开-c5-14 提取第5个字符到第14个字符间的字符---------------------------------------------------------原创 2017-03-16 22:23:19 · 438 阅读 · 0 评论 -
Linux命令大全
cat cd chmod chown cp cut 名称:cat 使用权限:所有使用者 使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName 说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案) 参数: -n 或 --number 由 1 开始对所有输出的行数编号 -b 或 --number-nonb原创 2017-03-16 22:19:52 · 288 阅读 · 0 评论