五 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 旧的链名 新的链名
用新的链名取代旧的链名
...
(全文...)