June 15, 2011
Google开源了一个kv存储的库leveldb
"Google开源了一个kv存储的库leveldb,从提交的代码和contributor名单来看,毫无疑问,就是bigtable论文描述的tablet的实现。也就是我们常说的LSMTree的一个实现。 http://code.google.com/p/leveldb/\n那LSMTree是什么呢?\nhttp://www.douban.com/group/topic/19607128/\nThe Log-Structured Merge-Tree (LSM-Tree)\nhttp://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.44.2782\u0026amp;;rep=rep1\u0026amp;type=pdf\n这篇文章读起来感觉有难度,细节太多。它介绍了 LSM-Tree 这种算法思想。这种算法思想主要用于解决日志记录索引的问题。这种应用的特点是数据量大、写速率高(2000条/s),又要建立有效的索引来查找日志中的特定条目。 采用 B+ 树索引,因为数据量大,每次又是随机的写到一个 page 中,导致无法进行有效的 page 缓存, …"
June 15, 2011
windows下网络测试的好工具:NTttcp和NetCPS
"网上的免费网络测试工具很多,在这里,我将向大家介绍两款优秀的网络测试工具,可以帮助大家便捷的进行网络性能测试。这两款工具即 NTttcp 和 NetCPS。 ——————————————————————————————–\n在上次专题文章中,我向大家介绍了优秀的开源软件 iperf,以及如何用它来快速进行网络性能测试。之后我收到了很多TechRepublic读者的反馈,向我推荐或询问同类的优秀软件,因此在本期文章中,我再向各位推荐两款类似的工具软件,即微软的Network Performance Tool (NTttcp)以及 NetChain的 NetCPS.\nMicrosoft的 NTttcp 测试工具可以说是iperf的强化版本,并且针对Windows环境进行了优化。 NTttcp的优势在于它可以根据网络任务调整CPU使用率,并且支持多核CPU。另外,NTttcp针对不同系统平台拥有不同的版本,如32-bit (x86)版本, 64-bit (x64)版本,以及IA-64版本。使用Windows XP, Windows Server 2003, Windows Vista, …"
June 15, 2011
Linux环境变量的设置和查看方法
"1. 显示环境变量HOME\n$ echo $HOME\n/home/redbooks\n2. 设置一个新的环境变量hello\n$ export HELLO=”Hello!”\n$ echo $HELLO\nHello!\n3. 使用env命令显示所有的环境变量\n$ env\nHOSTNAME=redbooks.safe.org\nPVM_RSH=/usr/bin/rsh\nShell=/bin/bash\nTERM=xterm\nHISTSIZE=1000\n…\n4. 使用set命令显示所有本地定义的Shell变量\n$ set\nBASH=/bin/bash\nBASH_VERSINFO=([0]=”2″[1]=”05b”[2]=”0″[3]=”1″[4]=”release”[5]=”i386-redhat-linux-gnu”)\nBASH_VERSION=’2.05b.0(1)-release’\nCOLORS=/etc/DIR_COLORS.xterm\nCOLUMNS=80\nDIRSTACK=()\nDISPLAY=:0.0\n…\n5. 使用unset命令来清除环境变量\nset可以设置某个环境变量的值。清除环境变 …"
June 15, 2011
Linux下使用Iptraf进行网络流量的分析
"下面的教程我个人安装的时候,总是失败,在/usr/local/bin目录里没有iptraf这个文件,没有办法直接用\nyum -y install iptraf\n命令安装成功了.\nIptraf是一款Linux环境下,监控网络流量的一款绝佳的免费小软件,特别是安装到防火墙上,与Iptables一起工作,监控流经防火墙的网络异常,效果非常好。\n我的安装配置环境是redhat 9.0\n一、软件下载\nIptraf的最新版本是2.7.0,可以从下面的地址下载\n二、安装环境需要\n— gcc 2.7.2.3 or later\n— GNU C (glibc) development library 2.1 or later\n— ncurses development libraries 4.2 or later\n可以在Linux下执行:\n# rpm -qa | grep gcc\n# rpm -qa | grep glibc\n# rpm -qa | grep ncurses\n如果没有,则请安装。\n三、安装\n从网站下载软件包,将下载得到的Iptraf-2.7.0.tar.gz上传到你所要安装的机器上,我的是 …"
June 13, 2011
CentOS 5.5 Nginx+JDK+MySQL+Tomcat(jsp)
"一.安装Nginx\nhttp://blog.haohtml.com/archives/6051\n二.安装jdk\nhttp://blog.haohtml.com/archives/9765\n三、安装apache tomcat 1、下载apache tomcat并安装tomcat\nwget http://labs.renren.com/apache-mirror/tomcat/tomcat-7/v7.0.14/bin/apache-tomcat-7.0.14.tar.gz tar zxvf apache-tomcat-7.0.14.tar.gz mv apache-tomcat-7.0.14 /usr/local/tomcat cp -rf /usr/local/tomcat/webapps/* /www/\n2、配置tomcat的server.xml文件,并启动或停止tomcat\n#vim /usr/local/tomcat/conf/server.xml\n查找appBase=”webapps”,修改为appBase=”/www”,其中/www 即为网页的根目录。 安装完成后,启 …"
June 13, 2011
CentOS下配置Java环境JDK
"**第一步:**查看Linux自带的JDK是否已安装 (卸载centOS已安装的1.4)\n\u0026lt;1\u0026gt;# rpm -qa|grep jdk ← 查看jdk的信息或直接执行 或 # rpm -q jdk\n或 # java -version # rpm -qa | grep gcj ← 确认gcj的版本号 # yum -y remove java-1.4.2-gcj-compat ← 卸载gcj\n第二步:安装JDK \u0026lt;1\u0026gt;从SUN下载jdk-1_5_0_14-linux-i586-rpm.bin或jdk-1_5_0_14-linux-i586.bin\njdk1.6的下载地址: 在/usr下新建java文件夹,将安装包放在/usr/java目录下\n# mkdir /usr/java\n\u0026lt;2\u0026gt;安装JDK # cd /usr/java\n①jdk-1_5_0_14-linux-i586-rpm.bin文件安装 # chmod 777 jdk-1_5_0_14-linux-i586-rpm.bin ← 修改为可执行 # …"
June 12, 2011
数据中心TCP优化:同时满足低时延和高吞吐量
"大的数据中心有成千上万台服务器,服务器之间大都用TCP来协作并传输数据,最终为用户提供服务。那数据中心的TCP工作得如何呢? 斯坦福大学和微软的两人对Bing服务的6000多台服务器集群在TCP方面的数据进行研究,用的数据是一个月的日志,包括应用、套接字级别和包级别的日志,压缩完后大概是150T的数据。老外真是牛!\n一、发现的问题 1、突发的丢包现象 2、部分包传输时延大,90%的传输RTT值小于1毫秒,10%的RTT值在1到15毫秒之间\n二、可能的原因 交换机是是先存储后转发数据包的,在一个端口上缓冲的数据包太多时,会有两种结果,一是交换机会丢掉新过来的包,二是已经缓冲的包的转发时延变大。这就是造成上面问题的原因。\n下面是两种场景,第一种是如下图: 多台工作机器把数据发给一台负责聚合的机器,这个有时会造成聚合机器所连接的交换机端口上缓冲太多的数据包,因缓冲区不多了而丢弃新收到的包。这些有些工作机器会出现超时重发。\n另一种场景如下图:\n两种机器同时给另一台机器发数据,其中一台发送的数据量很大,这样使得接收者上连的交换机端口缓冲区缓冲了大量数据包,使得另一个发送者发送的少量数据包产生比较 …"
June 9, 2011
CentOS访问Windows共享文件夹的两种方法
"1 在地址栏中输入下面内容:\nsmb://Windows IP/Share folder name\nsmb为Server Message Block协议的简称,是一种IBM协议,运行在TCP/IP协议之上。\n从Windows 95开始,Microsoft Windows都提供了Server和Client的SMB协议支持,Microsoft为Internet提供了SMB开源版本,及CIFS(Common Internet File System),通用文件系统。\n2 将Windows的共享文件夹挂载到本地\n在终端中输入命令:\nmount -t cifs -o username=”Admin”,password=”” //192.168.1.1/ShareFolder /mnt/MyShare\n注意命令行中的空格和逗号,空密码也可以。\n此命令就是将192.168.1.1上的共享文件夹ShareFolder 挂载到本地的/mnt/MyShare文件夹,执行完,就可在MyShare里看到ShareFolder里的内容。\n删除挂载用命令:umount /mnt/MyShare\n摘自:"
June 9, 2011
[教程]centos连接windows远程桌面
"大家都知道linux下都是用rdesktop来连接windows的远程桌面。注意只能在centos下的gui模式下运行,如果在cli下运行,则会提示以下错误:\nAutoselected keyboard map en-us\nERROR: Failed to open display:\n所以先安装rdesktop\n可以通过yum list看看有没有rdesktop包,可以看到有rdesktop.i386-1.4.1-4\n下面我们直接安装:\nshell\u0026gt; yum install rdesktop.i386\n----过程省略—-\n安装完成后我们直接用\nshell\u0026gt; rdesktop -a 16 192.168.1.5:3389来连接windows远程桌面。 -a 16表示用16位颜色打开桌面,后面的ip地址是windows服务器地址 :3389是windows的远程桌面的端口号,其实默认的3389可以省略,如果调整了windows远程桌面的端口,这里就必须带上。\n整个地球都知道rdesktop,有了它,我们可以从Solaris或者Linux使用Windows,当然Windows要 …"
June 9, 2011
为CentOS配置snmp代理(转)
"切换到系统管理员帐户\n安装snmp 确认snmp代理已安装\nrpm -q net-snmp\n如果未安装,安装snmp\nyum install net-snmp\n设置开机自动运行snmp\n/sbin/chkconfig snmpd on\n配置snmp 编辑/etc/snmp/snmpd.conf\n更改团体名 查找如下行 # sec.name source community com2sec notConfigUser default public 将团体名public改为其它任意字段,例: com2sec notConfigUser default monit\n给予可读权限 查找如下行 # group context sec.model sec.level prefix read write notif access notConfigGroup “” any noauth exact systemview none none 将read权限systemview改为all,例: access notConfigGroup “” any noauth exact all none none …"