-
2010-11-04
crontab 运行误解 - [linux]
今天理解到一个cron运行机制,以前写cron的时候一直是误解的。
*/5 * * * * /root/run.sh 以前这样写是理解为每5分钟 运行一次 /root/run.sh。结果也是5分钟运行一次.
然而根据经验与逻辑,每50分钟运行一次就是 */50 * * * * /root/run.sh,但是结果呢? 查看日之后... -
2010-10-16
寻踪---Mysql 导致系统负载飙升 - [mysql]
接到同事电话,说一台数据库服务器loadavg飙升到200-300.处理了下知道问题原因了
环境,2cpu,16核 centos5.4 mysql-5.1.44 一机2个实例
1,分别用top,iostat,mpstat,vmstat,sar 看了下系统的运行状态.
top - 13:14:42 up 12:10, 2 users, load average: ... -
2010-09-15
mycheckpoint 把玩手记 - [mysql]
cacti也可以监控mysql的一些性能参数画出图,但是无法自定义时间或者其他条件产生报表.mycheckpoint 可以作为替代监控mysql性能的工具,并且安装使用都非常简单.图标也比cacti漂亮..
mycheckpoint 文档地址:
http://code.openark.org/forge/mycheckpoint/documentation
需要的... -
2010-08-04
gearman 把玩手记 - [linux]
gearman 是一个消息列队服务。有3种角色
jobserver -->传递任务(银行排队机)
worker-->具体做事情的人(银行服务窗口里的职员)
client-->发情请求的人(客户)
具体干啥已经明白了.就可以开始走走流程了.
安装gearman需要安装libevent,libevent-devel 他就靠这个事件驱动了.你不装他没法转起来啊... -
2010-07-23
NFS 诡异 Permission denied 解决过程 - [linux]
nfs配置文件都正确,防火墙也没有,selinux也是关的.一直说Permission denied ,搞了一上午.一直没解决.
下午到处乱找,找到个方法解决了。原因还是未知
在服务端的/etc/fstab 加入 : 然后执行 mount -a 把这2个项挂上去.最后到客户端去挂载自己共享的项目.
nfsd /proc/fs/nfsd nfsd auto,defaults 0 0
sunrpc /var/lib/... -
2010-06-28
nagios 自定义插件监控mysql 同步状态 - [linux]
今天需要监控一下mysql同步的实时性,需要监控replication的Seconds_Behind_Maste,之前误以为nagios监控端是判断差价输出的结果的第一个段来判断错误级别的。结果脚本执行成功后状态还是显示 CRITICAL。
查找资料发现是根据插件执行后的退出状态来判断的。
OK —退出代码 0—表示服务正常地工作。 WARNING —退出代码 1—表示服务处于警告状态。 CR... -
2010-06-24
巧用NGINX日志格式来分析网站访问速度与瓶颈 - [linux]
现在大多数网站都是3层,如果网站慢下来不知道是用户连接慢还是网站服务器处理请求慢.所以需要前端负载均衡和后端webserver上记录每一个个请求的处理时间,虽然有一点性能的损耗,但是对于DEBUG,tunning来说还是有一定作用的。
可以使用nginx log_format里的$request_time这个变量来记录请求处理的时间,
例如:
log_format main '$remo... -
ssh 复制本地证书到远端,改变以前scp那种先复制再重命名的模式.
step 1:
[root@fy ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase): ... -
于市购一ITOUCH 32G,,览众贴,遂越狱.初入,甚欢.,欲尝DIY之味,技未熟,遂恢复不能.
再求告于众坛,终成.
叹曰:蛮夷之技实强..,天朝山寨之玩物只得其形,而其神远矣.
-
2010-04-08
[nginx 第三方模块使用]---nginx direct talk to mysql - [linux]
nginx优异的性能导致技术人员对他关注很多,开发了很多第3方模块.使他越来越强大.
我们不会coding,但是用还是可以用一下的.
网站一般是通过脚本语言去连接和操作mysql的比如,php,python,等等.今天就越过脚本语言直接与mysql通信.
需要的库:libdrizzle
需要的模块是(两位中国人写的,taobao的):
http://github.com/chaoslawful/drizzle-ng... -
2010-03-30
mysql 实验论证 临时表的特性 - [mysql]
high performance mysql 2中讲,使用内存储存引擎后,如果查询的结果集很大,或者结果集中有TEXT,BLOB类型的数据将把结果集合转化成myisam引擎的临时表..
而在其注释里写到 :
People often confuse Memory tables with temporary tables, which are
ephemeral tables created with CREATE TEMPORARY TA... -
2010-03-30
mysql 实验论证 innodb表级锁与行级锁 - [mysql]
最近看high performance mysql 2,里面对于MYSQL细节讲得比较多,纠正了我以往对于innodb锁的一些理解,实验证明一下,加深理解。
innodb 的行锁是在有索引的情况下,没有索引的表是锁定全表的.
表锁演示(无索引)
Session1:
mysql> set autocommit=0;
mysql> select * from in... -
2010-03-18
mysql 排序优化 - [mysql]
今天发现mysql错误日志里出来sort abort,于是加大sort_buffer_size ,read_buffer_size,read_rnd_buffer_size
修改以后执行同一sql排序,结果没有太大变化。后来决定把tmpdir 设置到内存中去(tmpfs),结果速度加快比较明显。
因为大结果集的排序如果超过了分配的内存就需要在临时目录(默认是/tmp)创建临时表,而硬盘IO比内存慢了许多倍。
优化一个sql... -
2010-03-17
mysql 中间件amoeba 试用 - [mysql]
mysql中间键做对外透明的mysql loadblance集群还是有一定可行性的,目前有mysql proxy ,mmm ,以及amoeba
amoeba是中国人写的所以先试用一下。过程就记录一下了。简单
实现功能roundrobin
环境是我单机3个实例。
1,安装jdk
./jdkxxx.bin
export JAVA_HOME=/path/to/new_jdk... -
2010-02-23
mysql kill process解决死锁 - [mysql]
mysql使用myisam的时候锁表比较多,尤其有慢查询的时候,造成死锁.这时需要手动kill掉locked的process.使他释放.
(以前我都是重起服务)..惭愧啊..
mysql> show processlist;
+----+------+-----------+------+---------+------+-------+------------------+
| Id | User | Host ... -
2010-02-02
nagios 折腾手记 - [linux]
以前听说nagios很烦,配置文件里的选项比较串,一直没有去弄。上2周花了点时间弄了下,记录之
required package:
gd gd-devel p.pl(perl cgi)
server:
1. useradd nagios
2. groupadd nagcmd
3. usermod -G nag... -
2010-01-15
linux 误删除文件恢复 - [linux]
看网上有人说误删除了文件还可以恢复,于是测试了下。可行,记录之,像我这样粗心的人。肯定用得到
download :
http://code.google.com/p/ext3grep/downloads/list
有可能需要的包(一般是操作系统已经带了)centos5.2自带
e2fsprogs-libs
e2fsprogs
e2fsprogs-devel
模拟环境: ... -
2010-01-15
work tips(mysql,nginx) - [linux]
1,mysql like 中文匹配不准确,(结果集与条件不符合)
解决方法,在有中文的字段加入binary属性 比如:
alter table t1 change name name varchar(10) binary;
select 查询时的条件之前加入 binnary,比如:
select xxx from xxx where binnary xxx like "%xxx%";... -
同事写一个php统计程序,打开页面发现varnish都直接报503了。后来查日志后解决
1.看php.ini的最大执行时间,默认30秒,加大到3000s
2.看php-fpm.conf 里的request_terminate_timeout ,发现是0,没有限制
修改重启后,报错依旧.确定是varnish和nginx问题了.
3.修改varnish backend 的.first_byte_tim... -
2010-01-03
python socket server 远程调用 - [python]
登录服务器必须经过新浪的SSH通道,所以每次操作机器非常麻烦,正好学习python,写了个socket 远程调用系统命令做事,没那么麻烦了,没打算让他能执行所有的命令,反正可以在action那里去加了,现在就改个文件,重启下服务。
server.py:
#!/usr/bin/python
import os,sys,commands,string,socket
addr=('0.0.0.0',8080)
MAXCLIE... -
2010-01-02
python execnet 模块学习 - [python]
刚刚开始学习python,本来是要实现socket接受指令,然后用socket把文件传过去。自己已经用socket实现通信,感觉代码有点长,结果搜到这个模块就用这个实现了,这个模块很强。刚刚接触只能依葫芦画瓢了。
模块介绍:(http://codespeak.net/execnet)
execnet ad-hoc instantiates local and remote Python interpreters. Each interpreter... -
2010-01-02
python doc 本地sever - [python]
刚刚开始学习python,发现python自带的文档每次你想看都需要import这个模块,而且在tty里看也不直观,今日在网上搜索,偶然看到python有自带的pydoc 并且可以开启一个webserver 以web方式展现python的库,模块的文档。
root@ri0day-laptop:~# whereis pydoc #看pydoc在哪(默认环境变量中有)
pydoc: /usr/bin/pydoc2.6 /usr/bin/pydoc /usr/share... -
2010-01-02
shell 限定命令执行时间 - [linux]
有个情况,你需要传输一个超大目录,这个传输的过程很长,但是你不想他没日没夜的传,你想在他执行一定时间后中断他,如论他是否执行完毕。解决方案当然是有的,就是写2个脚本,一个传输文件,另外一个在sleep你指定的时间后用ps 找出这个进程KILL掉他,那么如何写在一个脚本里呢?
trans()
rsync -avzrP xxxx/ xxx@x.x.x.x::db/ >log.txt &
sleep 2h... -
2009-12-28
LINUX 常用进程操作 - [linux]
计算当前进程占用的物理内存量:
[root@localhost ~]# ps -ylC lt-varnishd --sort:rss | awk '{ SUM += $8 } END { print SUM/1024"M" }'
按占用内存百分比排序当前进程:
[root@localhost ~]# ps aux|sort -nk +4|tail -n 1
按占用cpu百分比排序当前进程:... -
2009-12-24
rsync incoming chmod - [linux]
rsync客户端与服务端用户id不同,并且使用了保持本地权限选项,导致传上去文件权限为本地的,
跑nginx的用户服务器上没有这个id与之对应的用户,所以没有权限写入传上去的目录
man rsyncd.conf 发现有incoming chmod 和outgoing chmod 选项
传上来的文件由于没有对应的用户所以只有id ,那就属于o类了,设置o类权限为7好啦
[xxx]
... -
2009-12-02
LINUX性能监控我用 munin - [linux]
install munin on centos5.2 ...
-
2009-11-30
自己写个xinetd服务监控mysql - [linux]
考虑到要集中收集监控的信息就写一个检测mysql服务可用性的小服务
监控的脚本也就是服务的实体啦:
cat /opt/mysqlchk
#!/bin/bash
ip=`/sbin/ifconfig eth0|awk /172/|awk -F":" '{print $2}'|awk '{print $1}'`
if /data0/mysql/bin/mysqladmin -uroot -ppassword... -
2009-11-25
varnish 在前端处理用户请求 - [linux]
在到达webserver之前对用户的请求做处理.
处理多个资源域名
sub vcl_recv {
if (req.http.host ~ "^(rsh|res1).sina.com$") {
set req.http.host = "... -
2009-11-10
[转载]Ramfs AND Tmpfs 附测试数据 - [linux]
Using ramfs or tmpfs you can allocate part of the physical memory to be used as a partition. You can mount this partition and start writing and reading files like a hard disk partition. Since you’ll be reading and writing to the RAM, it will b... -
2009-10-19
基于linux kernel的内存调优,附proc详解. - [linux]
内核关于内存的选项都在/proc/sys/vm目录下.
1.pdflush,用于回写内存中的脏数据到硬盘。可以通过 /proc/sys/vm/vm.dirty_background_ratio调整。
首先查看这个值默认应该是10。
[root@esf ~]# cat /proc/sys/vm/dirty_background_ratio
10
这个值是一个阀值,说明如果内存中的脏数据达...







