28

代码地址:

通用排序服务器http://code.google.com/p/fulin/source/browse/C++/cntsvr/sdp/?r=13

更新:

1. protocol 层增加缓冲区,以减少 pipeline 的次数。频繁的 pipeline 会因为锁争用的缘故导致性能严重下降。

2. 增加了一层 udp 转发的 so ,在进程之间也可以配置形成新的 pipeline

3. 增加了增量排序的实现:在 mcdb (memcachedb) 里保存快照,排序的 value 为总值减去快 ... (全文...)

14

 

通过日志来查看 squid 的一些基本的运行状态:

1. access.log

配置语句:

logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh:%tr
cache_access_log /data1/logs/access.log combined

打下的log格式为:

125.71.196.17 - - [14/May/2008:12:16:13 +0800] "GET http://you.video.sina.com.cn/b/13441121-1212188024.html HTTP/1.1" 200 8820 "http://you.video.sina.com.cn/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" TCP_MEM_HIT:NONE:21089

可以通过脚本查看一些统计信息,如各种反应状态所占的比例,通常较 ... (全文...)

13

C、传统 C++

#include <assert.h>    //设定插入点
#include <ctype.h>     //字符处理
#include <errno.h>     //定义错误码
#include <float.h>     //浮点数处理
#include <fstream.h>    //文件输入/输出
#include <iomanip.h>    //参数化输入/输出
#include <iostream.h>   //数据流输入/输出
#include <limits.h>    //定义各种数据类型最值常量
#include <locale.h>    //定义本地化函数
#include <math.h>     //定义数学函数
#include <stdio.h>     //定义输入/输出函数
#include <stdlib.h>    //定 ... (全文...)

13

杆外已经飘起了雨。盆子在阳台的右角,雨水先落在窗前铁栏杆再顺着花草的叶脉滴到盆子的土壤里。吮吸起左手的西红柿,震来时,你躲在哪里?如果你依照小时候老师教我们的方法乖乖躲在桌子底下,床铺底下,那么,我必须告诉你,你的伤亡率,高达百分之九十八!!那该怎么办?
美国国际搜救队长教你正确的躲避位置。

道格卡普是美国国际搜救队长,自一九八五年至今,他及他的队员己参与全世界七十九次重大灾难的救灾工作,他曾经爬进近七百栋因为地杆外已经飘起了雨。盆子在阳台的右角,雨水先落在窗前铁栏杆再顺着花草的叶脉滴到盆子的土壤里。吮吸起左手的西红柿,震、爆炸而严重倒塌的建筑物内搜查受困的生还者以及罹难者的遗体。除了参与两年前日本神户大地杆外已经飘起了雨。盆子在阳台的右角,雨水先落在窗前铁栏杆再顺着花草的叶脉滴到盆子的土壤里。吮吸起左手的西红柿,震及美国俄克拉荷马市联邦大楼爆炸案救搜工作,十二年来国际新闻中的重大灾难救灾,他都没缺席。

本月十九日他离华前,传授在建筑物 ... (全文...)

12

通用排序服务daemon,模型示例。

情景描述:

1. 需要排序的数据以 key=>value 的形式组织
2. 数据随时到达,尽可能的做到实时排序
3. 只需保留 Top n 的数据

典型应用:各种排行榜,搜索排行,点击排行等等

算法细节:

1. 数据使用 udp 包传送 (示例中还没有加上网络操作部分)
2. mmap 内存到文件。daemon 只负责排序部分的工作,输出排序结果由其他程序读取文件完成
3. 使用结构体数组存储 Top n 的已排序部分
4. 新数据到达时,使用插入排序

Todo list:
1. 增加网络接收部分
2. 增加网络输出 daemon
3. 使用链表存储 Top n ,方便插入排序。 ... (全文...)

07

For Linux 2.6

原文:http://www.cnblogs.com/OnlyXP/archive/2007/09/29/911269.html

tcp_syn_retries :INTEGER
默认值是5
对于一个新建连接,内核要发送多少个 SYN 连接请求才决定放弃。不应该大于255,默认值是5,对应于180秒左右时间。(对于大负载而物理通信良好的网络而言,这个值偏高,可修改为2.这个值仅仅是针对对外的连接,对进来的连接,是由tcp_retries1 决定的)

tcp_synack_retries :INTEGER
默认值是5
对于远端的连接请求SYN,内核会发送SYN + ACK数据报,以确认收到上一个 SYN连接请求包。这是所谓的三次握手( threeway handshake)机制的第二个步骤。这里决定内核在放弃连 ... (全文...)

06

转自:tpxcer的空间 http://hi.baidu.com/tpxc

ps. 顺便做抓虾验证: {ZHUAXIA3c51521f96f54f3fcb53c6a7b30f7947Union}

用iptables -ADC 来指定链的规则,-A添加 -D删除 -C 修改

iptables - [RI] chain rule num rule-specification[option]

用iptables - RI 通过规则的顺序指定

iptables -D chain rule num[option]

删除指定规则

iptables -[LFZ] [chain][option]

用iptables -LFZ 链名 [选项]

iptables -[NX] chain

用 -NX 指定链

iptables -P chain target[options]

指定链的默认目标

iptables -E old-chain-name new-chain-name

-E 旧的链名 新的链名

用新的链名取代旧的链名

... (全文...)