So Tired !_! 逆水行舟, 不进则退!

20Jan/12

[转]如何做一个可以执行的年度计划?附工具下载

Posted by Nick Xu

转眼间一年又过去了,2011年过的怎么样?愿望都实现了吗?2012年有什么打算呢?

这一次木立方俱乐部的活动主题是“如何做一个可执行的年度计划~”吸引到了25位朋友参加。

在活动的一开始,我们几个拿出去年制作的年度计划,给大家汇报了完成情况,比较有意思的是,基本上都是完成了80%左右~

看来大家的2011过的都蛮成功的(看看脸上的笑容就知道了!)。

对于2012年的计划,我们为大家提供了一套流程和工具,大家用了之后都说蛮不错的(提前一周就发给大家了)。

所以我也在博客上跟大家分享,这样一来,以后就不需要花太多的心思在方法和工具上,专注在自己深思考就好。

第一步:问正确的问题

年计划工具A

首先,大家可以用A4纸打印出上面的这个“年度计划小人儿”,他将帮助我们思考自己的规划。

图上面有8个问题,分别是:

  1. 你的个人核心价值观是什么?
  2. 个人发展所需要克服的矛盾:挡住你去路的大石头是什么?比如没有养成的某种习惯、一直没有克服的障碍
  3. 未来五年远景(有些人是三年):你想要你五年后是一个什么样子?
  4. 未来两年目标:你对未来两年有什么想法?
  5. 2012个人主题:未来的一年都要完成哪些任务?
  6. 2012个人行动计划:具体的行动、周期、时间点
  7. 需要放弃的资源:精力是有限的,你愿意为了你的目标而主动放弃什么?
  8. 2012年主题词:用一个词概括你的2012

这个年度计划小人来自于图像引导师臧贤凯,所以你会发现这几个问题和图像中的身体有奇妙的联系:

  1. 个人价值观---是我们脑袋里一直存在的东西,只不过我们要把它描述出来
  2. 需要克服的矛盾---这些矛盾来自于我们的内心,而也只有我们内心的力量才能战胜它。
  3. 五年、两年目标---我们的双手必须牢牢抓住的东西
  4. 个人任务和行动计划---这需要我们迈开双脚去行动
  5. 需要放弃的资源---是我们背后的阴影,我们要向着有光的地方走去,就势必在身后留下长长的背影。
  6. 主题词---红旗!必须夺下来的红旗

U58847903 130c79ac7e6g213

我回答这8个问题用了几周的时间,问对了问题就会引发很多的思考,年计划真的不像想象的那么简单,不花一些精力去深思考,是没有办法完成的。

大家试试看吧!

第二步:梳理出行动

我们设计了一个Excel模板,方便大家使用。

特别值得一提的是,我们在里面加入了“预算”

比如说你想要学习沟通,想要报一个卡内基的课程,那么你需要多少预算?

如果你想要参加Toastmaster俱乐部,那么你需要多少会费?

你每月需要花在社交上的费用大概是多少?

如果你已经把任务分解到行动了的话,你就能从这张表格里得到全年的费用预算,一目了然

工具可以协助行动,工具还可以触发思考,你能把全年的行动规划下来吗?试试看?!

屏幕快照 2012 01 14 下午02 55 25

第三步:规划到月历

我会给计划制定时间节点,比如说:

  • 大概几月做研习会
  • 几月去参加课程
  • 项目这个月应该是什么进度

然后我会把他写在月历上,新的一月开始,这一个月的重点是什么,就心里清楚了。

我们除了在活动现场送给大家可以摆在桌上的月历之外,还提供一个电子版下载,可以打印出来使用,很方便咯。

屏幕快照 2012 01 14 下午03 02 40

第四步:和伙伴们分享

我们这次来参加活动的所有人都约定好:6月份和12月份的时候,我们还要聚在一起,分享年计划的执行情况,想起来就让人兴奋。

我以前对“分享”这个词不是很重视,当我开始在新浪微博发起“每月培养一个好习惯”的活动后,体会到了“分享”的可怕之处,互相的鼓励和打气能形成一个正向能量圈,很快乐的坚持下去。

所以,不管你的年计划是什么,希望你能和身边的朋友们分享,看看会发生什么。

结语:

制作年度计划四步法和工具下载:

第一步:思考并填写“年度计划小人儿” 年度计划小人儿.jpg

第二步:把“年度计划小人儿”里的“2012个人主题”拿出来,在表格里孵化出行动 2012个人成长实施计划(工具二).xlsx

第三步:把有时间节点的或者周期性的行动,写在月历上 2012成长工具年历中文版.xls

第四步:希望大家把这些工具还有你的计划和朋友们一起分享。

Filed under: 其它 No Comments
17Jan/12

三种web性能压力测试工具http_load webbench ab Siege

Posted by Nick Xu

http_load

下载地址:http://www.acme.com/software/http_load/http_load-12mar2006.tar.gz

http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。可以可以测试HTTPS类的网站请求。

命令格式:http_load  -p 并发访问进程数  -s 访问时间  需要访问的URL文件
参数介绍

        -p 并发访问进程数

        -f 总的访问次数

        -r 每秒的访问频率

        -s 总的访问时间

通常参数组合:-p –f;-r -s

引用
http_load -p 30 -s 60  urllist.txt准备URL文件:tst.list,文件格式是每行一个URL,URL最好超过50-100个测试效果比较好,另外,测试结果中主要的指标是 fetches/sec 这个选项,即服务器每秒能够响应的查询次数,用这个指标来衡量性能

 

引用
% ./http_load -rate 10 -seconds 60 urllist.txt
49 fetches, 4 max parallel, 289884 bytes, in 10.0148 seconds
5916 mean bytes/connection
4.89274 fetches/sec, 28945.5 bytes/sec
msecs/connect: 28.8932 mean, 44.243 max, 24.488 min
msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min

4.89274 fetches/sec 这个值得就是说服务器每秒能够响应的查询次数为4.8左右
这个值得是根据 49 fetches / 10.0148 seconds 秒计算出来的


webbench
webbench是Linux下的一个网站压力测试工具,最多可以模拟3万个并发连接去测试网站的负载能力。
下载地址:

http://cid-9601b7b7f2063d42.skydrive.live.com/self.aspx/Public/webbench-1.5.tar.gz
安装
#tar zxvf webbench-1.5.tar.gz
#cd webbench-1.5
#make && make install
会在当前目录生成webbench可执行文件,直接可以使用了

用法:
webbench -c 并发数 -t 运行测试时间 URL
如:webbench -c 5000 -t 120 http://www.askwan.com


ab 

ab是Apache服务器自己带的性能测试工具,用它可以对指定的URL进行模拟访问,然后生成一份有关访问效率的报表,从中可以大概看出网站在高压力情况下的表现。

Windows下的ab.exe一般都在Apache安装目录的bin目录下。这里举几个我实际中用过的例子:

对http://localhost/dz7/index.php产生400次请求
ab -n 400 http://localhost/dz7/index.php
测试完成后,ab会输出测试的结果:

Benchmarking localhost (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Finished 400 requests

Server Software:        Apache/2.2.11
Server Hostname:        localhost
Server Port:            80

Document Path:          /dz7/index.php
Document Length:        7015 bytes

Concurrency Level:      1
Time taken for tests:   21.623 seconds
Complete requests:      400
Failed requests:        399
   (Connect: 0, Receive: 0, Length: 399, Exceptions: 0)
Write errors:           0
Total transferred:      2968811 bytes
HTML transferred:       2805205 bytes
Requests per second:    18.50 [#/sec] (mean)
Time per request:       54.057 [ms] (mean)
Time per request:       54.057 [ms] (mean, across all concurrent requests)
Transfer rate:          134.08 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   1.3      0      16
Processing:    31   54  64.5     47    1265
Waiting:       16   51  64.3     47    1250
Total:         31   54  64.5     47    1265

Percentage of the requests served within a certain time (ms)
  50%     47
  66%     47
  75%     47
  80%     47
  90%     47
  95%     62
  98%    141
  99%    187
 100%   1265 (longest request)

参数-n设定请求的次数;另外,还可以用-c来设定并发访问数,例如要模拟50个并发访问,可以用
ab -n 400 -c 50 http://localhost/dz7/index.php

此外,还有一个实际的问题,就是如何用ab来模拟已登录的用户的访问。绝大部分程序的登录机制都是用Cookie+Session来实现的,浏览器在每次请求时都发送一个Cookie,里面记录了Session的SID。你可以先在利用Firefox的Firebug插件来确定Cookie里的内容是什么。
firebug_cookie
从中可以看到表示登录用户的内容是“QfI_sid=55ySsk”。ab可以用-C(大写的C)来设定每次请求用发送的Cookie。所以
ab -n 400 -c 50 -C "QfI_sid=55ySsk" http://localhost/dz7/index.php
就可以模拟已登录用户的400次访问,并发数为50的情况。

最后再透露一个绝技:
ab --help

 

四、Siege
一款开源的压力测试工具,可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。
官方:http://www.joedog.org/
Siege下载:http://soft.vpser.net/test/siege/siege-2.67.tar.gz
解压:
# tar -zxf siege-2.67.tar.gz
进入解压目录:
# cd siege-2.67/
安装:
#./configure ; make
#make install

使用
siege -c 200 -r 10 -f example.url
-c是并发量,-r是重复次数。 url文件就是一个文本,每行都是一个url,它会从里面随机访问的。

example.url内容:

http://www.licess.cn
http://www.vpser.net
http://soft.vpser.net

结果说明
Lifting the server siege… done.
Transactions: 3419263 hits //完成419263次处理
Availability: 100.00 % //100.00 % 成功率
Elapsed time: 5999.69 secs //总共用时
Data transferred: 84273.91 MB //共数据传输84273.91 MB
Response time: 0.37 secs //相应用时1.65秒:显示网络连接的速度
Transaction rate: 569.91 trans/sec //均每秒完成 569.91 次处理:表示服务器后
Throughput: 14.05 MB/sec //平均每秒传送数据
Concurrency: 213.42 //实际最高并发数
Successful transactions: 2564081 //成功处理次数
Failed transactions: 11 //失败处理次数
Longest transaction: 29.04 //每次传输所花最长时间
Shortest transaction: 0.00 //每次传输所花最短时间

Filed under: Linux No Comments
11Jan/12

nginx做非80端口转发

Posted by Nick Xu

nginx可以很方便的配置成反向代理服务器
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://147.16.24.175:9500;
proxy_set_header Host $host:80;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Via "nginx";
}
}
但是如果nginx的监听端口不是默认的80端口,改为其他端口如81端口。
后端服务器中request.getServerPort()无法获得正确的端口,返回的仍然是80;
在response.sendRedirect()时,客户端可能无法获得正确的重定向url。
正确的配置方法为
在 $host之后加上端口号,如$host:81
server {
listen       83;
server_name  localhost;
location / {
proxy_pass  http://147.16.24.175:9500;
proxy_set_header   Host             $host:83;
proxy_set_header   X-Real-IP        $remote_addr;
proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
proxy_set_header Via    "nginx";
}
}

Filed under: Linux No Comments
   
site
site