The Mirages

樱桃沟夹事

听这张专辑是因为Timo Tollki的上一张专辑,那张专辑太让人感觉震撼了,感觉是痛苦的无力的挣扎。

很多人喜欢其中的,其实它只是中的特例。听完整张专辑,我想Timo Tollki那段时间心理肯定出现了问题,果然从网上得知他在那段时间得了抑郁症。既有探寻时间的真理,又有对现实社会进行控诉的。

而最近听了<Saana - Warrior Of Light pt. 1 - journey to Crystal Island> 感觉他已经走出了那段时间。但是还是在寻找什么东西。而这张专辑简直就是一部叙事诗。

其实这部专辑就是一部歌剧。而其中的每首歌其实都是故意分割开来的,而取的标题就好比是一篇记事流水帐。

############################## 

Best regards
Timo Seven

阅读全文 »

今日最大的消息是微软将live space迁移至wordpress.com 消息来自http://www.cnbeta.com/articles/122987.htm 就是不知道迁移之后的域名怎么变化?
wordpress.com可是都要注册的,难道微软同意共享用户信息?
本周一,微软已经与WordPress母公司Automattic达成了协议。从今天开始,Windows Live的博主们可以通过迁移工具,将自己的博客转到WordPress。整个迁移工作将在未来几个月完成。最后迁移期限是 2011年3月。
也许对于我们来说不是个好消息,到时候GFW封锁WORDPRESS.COM会更加勤快的。
###########################################
Best regards
Timo Seven

分而治之就是化整为零。古代有曹冲称象这种绝妙的应用。
而最近看了很多计算机书,发现很多现有的技术其实就是分而治之的范例。从集中存储到分布式存储,从大型机计算到分布式计算,就算是大型机现在其实也都是由大量的CPU组合起来。
但是集中和分开都是相对的。也许现在我们的分布式计算在若干年后就已经算是集中式计算,这个时间在我看来也就是3年时间。
说点具体的计算机例子吧。
以前我们分析日志从来都是通过log-ng把所有日志同步到一台服务器上,然后集中进行同行。或者在每台服务器上各管各的进行统计。而随着日志量越来越大,每天高达200G的日志量,这就不得不每过几分钟进行统计一次,而当日志量越来越多的时候,那我们学会了用Hadoop进行分布式计算分析完成后再进行汇总。
当然其实在hadoop逻辑内部也是有集中和分发2个部分的。
这篇日志写的有点乱,看来对于逻辑和哲学还是有很大的欠缺。古语有云“无极生太极,太极生阴阳,阴阳生四象,四象生八卦,八卦生六十四个啥,六十四个啥生万物“ 最后这个给忘记了。可见对于万物都是遵循了同一个内部原则,这个不会随着外部的变化而变化,乃是万物生长的法则。
合久必分,分久必合。而计算机技术也在这分分合合中进行了自己的发展。
其实这篇文章主要是看了《构建高性能web站点》的一个书评。全书我觉得最好的部分主要是在前面2章,而后面大多是泛泛而谈了,毕竟对于高性能web站点要考虑的东西太多了,而每个部分都要面面俱到就算是2000页估计也难完成。所以从中主要是了解一个思想,就是上面说的分而治之。
比如对于数据库来说,当我们发现单台数据库没法支撑的时候,我们就会把数据库服务器进行升级硬件以达到新的需求。而再不行的情况下,那就分库,把不同数据库分配到不同服务器上。而一旦一个数据库大到无法想象,那就把这个数据库中的表进行分拆存放到不同服务器上,而再不行那就把单个表分成100份1000份10000份存到不同的服务器上。而这其中就是分而治之的思想。
而一旦你有了这样的思想,你才会想到开发更好的程序来支撑这种需求。
而要构建这个web站点离不开所有互联网人员的努力,不光是技术,还有销售运营等等的配合。

##############################
Best regards
Timo Seven
(http://twitter.com/twitter) UNIX System Admin & MySQL DBA

今天在blog的referer地址中突然发现下面这个链接
http://monitor.admin.t.sina.com.cn/monitor/url_list.php?confirm=0&status=0&stime=2010-09-13%2009%3A50%3A00&etime=2010-09-13%2010%3A00%3A00 想直接访问下居然没法访问,也是正常。用Nslookup一看居然还是个内网地址
Non-authoritative answer:
Name: monitor.admin.t.sina.com.cn Address: 10.68.3.176
那看来只能是新浪内部才可以访问了,可为什么这个居然公网DNS也可以解析,看来这个东西是上的比较着急给遗忘了。
从链接中开能看出这个是通过读取数据库来进行存储的
表结构估计就是上面写的那个
comfirm 默认为0,有问题的估计为1
status 默认为0, 如果为1估计是有问题的
stime
etime
这2个是很明显的发布时间的区间范围
这个东西应该比较山寨,毕竟是匆匆上线的产品。应该还有个简单的用户权限分级和验证系统。
###########################################
Best regards
Timo Seven

web压力测试,之前用过autobench和ab,但是都不是进行乱序测试的,之后看公司wiki发现有人用siege进行乱序测试。

这个东西安装和使用很简单,主要步骤如下

1
2
3
4
5
6
7
8
9
10
11
12
13
 wget ftp://ftp.joedog.org/pub/siege/siege-latest.tar.gz cd siege* ./configure make make install siege -c 1000 -r 100 -i -b -f url.txt 
```

这其中url.txt中是所有需要测试的连接。 -c 表示并发1000, -r表示执行100次, -i表示乱序, -b表示循环100次之间不停顿,默认是停顿1

但是siege自身感觉也是有瓶颈的,并发数最大也就1000,再提高就会报下面这样的错误

\[error\] socket: unable to connect sock.c:222: Operation already in progress socket: connection timed out

这样最终导致测试结果怎么都没法超过2W每秒的请求,所以就把siege -c 1000 -r 100 -i -b -f url.txt 放到shell中并发执行

```c
for i in {1..10} do siege -c 1000 -r 100 -i -b -f url.txt &; done

这本书是日本人安不司写的,他可是算做日本添加剂之神。
但是看了之后感触最深的并不是添加剂相关的内容,而是其它方面的感触却挺深。
食品添加剂,这个东西以前是肯定是没有的,而是工业时代的产物,是为了方便进行量产,同时作为消费者也有责任,总是喜欢挑选便宜而且看着又好看的了。所以很多制造商为了这些目的就拼命朝这方面努力。
而一旦让孩子知道食物得来的那么容易,那就不会珍惜。很多东西都是这样的,你一旦知道太容易的得到它,那就不会太在乎的。
作者说的那个事情很真实,因为我也经历过这样的事情。当你跟一只小鹅一起长大,突然有一天你父母把小鹅给杀了,做了吃了。我想这个时候你肯定会很珍惜。也许你或许都不会吃。而如果你就加点添加剂就能得到肉的味道,那你会怎么看待呢?
而我想作者其实最想表达的就是这个意思。好了,还是说说不能吃哪些添加剂吧。原理很容易:只要你自己厨房里没有的就得注意了。当然在国内的话一般都会特别标注为添加剂。
添加剂最不好的就是安赛蜜和阿斯巴甜,这2个是作为甜味剂使用的,甜味是蔗糖的2000倍,而价格才是蔗糖的3倍。所以这种是完全不应该添加的。而且据说阿斯巴甜和安赛蜜会导致偏头痛,这2个都在欧洲杯禁用了。而美国也禁用了安赛蜜,而国内还没有禁止。山梨酸和山梨酸钾,这几个都是调酸味的,而且是完全化学合成,所以千万别有。还有亚硝酸钠,各种着色剂,各种BHT,BHA,OPP,TBZ。
而作者认为必不可少的添加剂,对人也没有危害的有:苏打,发酵粉,盐卤,氢氧化钙,琼脂和明胶。
而作为我们消费者来说,不光买东西要看生产日期和保质期,还得特别留意配料表。也不要尽找便宜的。有的时候你吃了添加剂的你再吃自然的就感觉自然的东西不怎么好吃,其实我们都被添加剂给害了我们的味觉。

##############################
Best regards
Timo Seven
(http://twitter.com/twitter) UNIX System Admin & MySQL DBA

其实现在我这本书只看了一半,但是有些想法我觉得还是得记录下来。
我一直是做系统运维的,作者应该是开发出身。书的第二章和第三章主要是讲网络 传输和服务器并发处理能力。
虽然这2部分离非常专业还是差的比较远,但是我觉得作者分析的思路还是很不错
的。普通的系统运维人员一般处理问题就是man一下或者google一下,翻翻WIKI,
查查mail list。但是书的作者因为是开发人员,所以他的视角从一开始就是源 码,系统函数来判断。
其实这样做是非常正确的我觉得,毕竟所有服务器软件最终都是调用系统函数,而 Linux的优势不就是开放源码呀。
其实刚开始这种分析方法帮我解决了几个nginx的问题,首先是epoll,这个I/O模
型到底有哪些优势,为什么会产生epoll,它主要解决了哪些问题,而作者关于那 个面馆的比喻也非常不错,很形象。
另外一个问题是sendfile()方法,启用这个和不启用的区别在哪里? 而作者通过
strace工具分析也很不错。可以抓取到各个系统函数的调用时间和次数。而通过
strace分析后发现使用sendfile()方法后write()方法就没有了,而write()方法就 是把文件从用户空间往内核空间中进行写。
另外一个是到底开多少nginx进程好呢? 这个在apache中是不需要配置的,它会自
己根据链接情况增加和减少。nginx进程太少可能就会让其它cpu闲置着,而开启太
多还会导致频繁的上下文切换。虽然这些时间对于1秒种来说是非常微小的,但是 累计起来就大了。
看到一半为什么要写读后感主要是觉得以后排除问题,特别是性能方面的问题有了
全新的解决思路,而这个思路就导致了我必须看下linux内核的源码以及系统软件 的源码,当然wiki还是必须要参考的。
##############################
Best regards
Timo Seven
() UNIX System Admin & MySQL DBA

上个月老婆办了一个招商银行信用卡和卡,说是只要一次消费满288就可以送2张电影票。

下面这个网址是招商银行信用卡对于这个活动的具体说明。

http://www.cardcmb.com/play/others_movie_1.shtml?WT.mc_id=N371400101006250

可老实说这种规定基本属于银行为了规避自己责任的规定,而对于具体如何换票没有特别的说明。

从这里我实在不知道指定电影院是哪里? 指定到密云难道大家也去吗? 而且什么叫以实际为准?

为了确认这个问题,老婆直接播了招行信用卡的4008205555电话。而且还拨了3次。但是却得到不同的答案。

阅读全文 »

由于工作需要,需要用到nginx的很多特性,但是每个层次需要做不同的功能。虽然下面这个日志配置文件可以很好的运行。可我就跟郭欣在《构建高性能web站点》中说的,我还没弄清楚这些日志配置之后的原理。

测试环境

1. 10.1.41.81 client
2. 10.10.72.148 proxy
3. 10.10.72.219 cache
4. 10.10.72.221 real server

日志设置的需求

1. 日志设置的结果需要在所有节点上知道它的上一级IP和用户IP,这样可以方便查找问题 2. 日志设置的第二个目的是在proxy和cache都加了response time和request time 3. 在cache层的日志增加了cache的命中结果,有MISS,EXPIRED,HIT等5种不同状态 4. 在源站加入了gzip的压缩比
5. msec是表示用毫秒表示当前写入日志的时间

意外发现

阅读全文 »

今天就对keepalived进行了自定义脚本的测试。

先是定义一个vrrp_script
脚本名字,指定测试的内容。也可以自定义脚本,设定执行时间。然后在vrrp_instance中调用就可以了。这样一旦出现无法连接VIP就会自动漂移到其它机器上。

今日还顺便测试了下当2个BACKUP的priority相同,master失效的结果,结果发现VIP会同时漂移到这2台机器,而且你用arping的时候会得到2个mca地址,这是非常危险的,所以我们在一个多播组内千万要设置不同的priority.

同时我们在我昨日的blog中老外写的那个监控脚本有关于weight值的设定,这个我自己测试上加了后发现监控就不生效了,我把80口的nginx直接关了也没有实现VIP漂移。关于这个问题以及发信给作者了,现在还在等回复,官方文档找不到,例子中发现weight有-2,-3,-4,2各种不同,实在是不明白。我自己也没看到直接看源码的程度,还是直接问问得了。

 vrrp_script chk_http_port { script "/tcp/127.0.0.1/80" # 连接本机80端口,正常就退出,无法连接就报错 interval 1 # 每秒连接一次 } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 smtp_alert authentication { auth_type PASS auth_pass hdtv } virtual_ipaddress { 10.1.41.141 } track_interface { eth0 #加入网卡部分监控,要实现这个功能也可以不加 } track_script { chk_http_port #上面的vrrp_script的名字 } } 

###########################################

阅读全文 »
0%