2005年12月30日星期五
2005年12月29日星期四
乱七八糟
画地图
圣诞节通宵的后遗症
悔过
God Forgive me!
2005年12月22日星期四
VMware 中RedHat 的VMtools 安装
VMware 中RedHat 的VMtools 安装 |
为了避免调试过程不断重启的麻烦,我选择在虚拟机(VMWare)下安装RadHat Enterprise Linux AS 4。用Linux text进入安装,安装好后(我仅仅安装了Text界面,并未安装GNOME、KDE等组件)。虽说仅仅在文本模式下装不装VMTools对系统并没有什么显示效果上和性能的提升,但是每次切换到主操作系统时感叹号的提示总看得不爽,于是我还是把它装了。 安装过程其实网上到处都有,我就简单的记录一下,顺便把网络上互相抄袭,但是还是存在的问题修正一下: VMware Workstation 5.5中,在安装 X:\Program Files\VMware\VMware Workstation 目录下有 4个ISO文件,windows.iso linux.iso netware.iso freebsd.iso 1. 首先在文本登录界面,用你的根用户账号(root)和密码登录。 2. 然后挂载光驱设备 ➩mount -t iso9660 /dev/cdrom /mnt 3. 光驱挂载成功后,进入/mnt目录下➩cd /mnt,再用“ls”命令显示其下的内容➩ls /mnt/。这时发现多了一个文件:VMwareTools-5.5.0-18463.tar.gz,这就是VMware Tools的Linux安装包。 4. 然后再把该文件拷贝到tmp目录下 ➩cp /mnt/VMwareTools-5.5.0-18463.tar.gz /tmp 5. 现在虚拟机光驱的使命完成了,应该把它卸载 ➩umount /dev/cdrom ......① 6.接下来应该解压缩VMwareTools-5.5.0-18463.tar.gz文件。首先进入tmp目录 ➩cd /tmp,将其解压缩 ➩tar zxf VMwareTools-5.5.0-18463.tar.gz,把它释放到目录vmware-tools-distrib下。 ......② 7. 然后进入解压后的目录 ➩cd vmware-tools-distrib,用“ls”命令显示其下的内容,从中可以看到vmware-install.pl是VMware Tools的安装程序。 8. 最后运行该安装程序 ➩./vmware-install.pl,然后根据屏幕提示一路回车。到此整个安装过程算是完成了。 ---------------------------------------------------------- ①切记要umount cdrom,否则安装到最后会出现unable to create the directory /mnt/hgfs ②tar参数:-c, --create 建立新的存档 -f, --file [HOSTNAME:]F 指定存档或设备 (缺省为 /dev/rmt0) --force-local 强制使用本地存档,即使存在克隆 -x, --extract, --get 从存档展开文件 -z, --gzip, --ungzip 用 gzip 对存档压缩或解压 |
2005年12月18日星期日
2005年12月14日星期三
I'm Back !
| |||
2005年12月11日星期日
2005年12月9日星期五
防火墙并发数讨论
防火墙并发数讨论 |
并发连接数是防火墙最常见的参数,在厂家的产品说明书中,大家经常可以看到,从低端设备的500个并发连接,一直到高端设备的数十万个并发连接,存在巨大的差异。那么,什么是并发连接数?它对采购防火墙有什么影响? 并发连接数是指防火墙或代理服务器对其业务信息流的处理能力,是防火墙能够同时处理的点对点连接的最大数目,它反映出防火墙设备对多个连接的访问控制能力和连接状态跟踪能力,这个参数的大小直接影响到防火墙所能支持的最大信息点数。 并发连接数是衡量防火墙性能的一个重要指标。在目前市面上常见防火墙设备的说明书中大家可以看到,从低端设备的500、1000个并发连接,一直到高端设备的数万、数十万并发连接,存在着好几个数量级的差异。那么,并发连接数究竟是一个什么概念呢?它的大小会对用户的日常使用产生什么影响呢?要了解并发连接数,首先需要明白一个概念,那就是“会话”。这个“会话”可不是我们平时的谈话,但是可以用平时的谈话来理解,两个人在谈话时,你一句,我一句,一问一答,我们把它称为一次对话,或者叫会话。同样,在我们用电脑工作时,打开的一个窗口或一个Web页面,我们也可以把它叫做一个“会话”,扩展到一个局域网里面,所有用户要通过防火墙上网,要打开很多个窗口或Web页面发(即会话),那么,这个防火墙,所能处理的最大会话数量,就是“并发连接数”。 像路由器的路由表存放路由信息一样,防火墙里也有一个这样的表,我们把它叫做并发连接表,是防火墙用以存放并发连接信息的地方,它可在防火墙系统启动后动态分配进程的内存空间,其大小也就是防火墙所能支持的最大并发连接数。大的并发连接表可以增大防火墙最大并发连接数,允许防火墙支持更多的客户终端。尽管看上去,防火墙等类似产品的并发连接数似乎是越大越好。但是与此同时,过大的并发连接表也会带来一定的负面影响:, 1.并发连接数的增大意味着对系统内存资源的消耗 以每个并发连接表项占用300B计算,1000个并发连接将占用300B×1000×8bit/B≈2.3Mb内存空间,10000个并发连接将占用 23Mb内存空间,100000个并发连接将占用230Mb内存空间,而如果真的试图实现1000000个并发连接的话那么,这个产品就需要提供 2.24Gb内存空间! 2.并发连接数的增大应当充分考虑CPU的处理能力 CPU的主要任务是把网络上的流量从一个网段尽可能快速地转发到另外一个网段上,并且在转发过程中对此流量按照一定的访问控制策略进行许可检查、流量统计和访问审计等操作,这都要求防火墙对并发连接表中的相应表项进行不断的更新读写操作。如果不顾CPU的实际处理能力而贸然增大系统的并发连接表,势必影响防火墙对连接请求的处理延迟,造成某些连接超时,让更多的连接报文被重发,进而导致更多的连接超时,最后形成雪崩效应,致使整个防火墙系统崩溃。 3.物理链路的实际承载能力将严重影响防火墙发挥出其对海量并发连接的处理能力 虽然目前很多防火墙都提供了10/100/1000Mbps的网络接口,但是,由于防火墙通常都部署在Internet出口处,在客户端PC与目的资源中间的路径上,总是存在着瓶颈链路——该瓶颈链路可能是2Mbps专线,也可能是512Kbps乃至64Kbps的低速链路。这些拥挤的低速链路根本无法承载太多的并发连接,所以即便是防火墙能够支持大规模的并发访问连接,也无法发挥出其原有的性能。 有鉴于此,我们应当根据网络环境的具体情况和个人不同的上网习惯来选择适当规模的并发连接表。因为不同规模的网络会产生大小不同的并发连接,而用户习惯于何种网络服务以及如何使用这些服务,同样也会产生不同的并发连接需求。高并发连接数的防火墙设备通常需要客户投资更多的设备,这是因为并发连接数的增大牵扯到数据结构、CPU、内存、系统总线和网络接口等多方面因素。如何在合理的设备投资和实际上所能提供的性能之间寻找一个黄金平衡点将是用户选择产品的一个重要任务。按照并发连接数来衡量方案的合理性是一个值得推荐的办法。 以每个用户需要10.5个并发连接来计算,一个中小型企业网络(1000个信息点以下,容纳4个C类地址空间)大概需要10.5×1000=10500个并发连接,因此支持20000~30000最大并发连接的防火墙设备便可以满足需求;大型的企事业单位网络(比如信息点数在1000~10000之间)大概会需要105000个并发连接,所以支持100000~120000最大并发连接的防火墙就可以满足企业的实际需要; 而对于大型电信运营商和ISP来说,电信级的千兆防火墙(支持120000~200000个并发连接)则是恰当的选择。为较低需求而采用高端的防火墙设备将造成用户投资的浪费,同样为较高的客户需求而采用低端设备将无法达到预计的性能指标。利用网络整体上的并发连接需求来选择适当的防火墙产品可以帮助用户快速、准确的定位所需要的产品,避免对单纯某一参数“愈大愈好”的盲目追求,缩短设计施工周期,节省企业的开支。从而为企业实施最合理的安全保护方案。 |
2005年12月1日星期四
About INNER JOIN in SQL
for (int i=1; i<=96; i++)
{
sql = sql + ",DayFactorTable.Factor"+i;
}
sql = sql + " FROM UserTable INNER JOIN GPTInfo ON UserTable.UserNo = GPTInfo.UserNo
INNER JOIN DayFactorTable ON GPTInfo.TermNo = DayFactorTable.TermNo " +
"WHERE (UserTable.KHBH = '"+KHBH+"') AND (DayFactorTable.QueryDate >='"+QSRQ+"')AND (DayFactorTable.QueryDate <='"+ZZRQ+"')";
INNER JOIN DayFactorTable ON GPTInfo.TermNo = DayFactorTable.TermNo " +
"WHERE (UserTable.KHBH = '"+KHBH+"') AND (DayFactorTable.QueryDate >='"+QSRQ+"')AND (DayFactorTable.QueryDate <='"+ZZRQ+"')";
INNER JOIN操作用于组合两个表中的记录,只要在公共字段之中有相符的值。可以在任何的 FROM 子句中使用 INNER JOIN 运算。这是最普通的联接类型。只要在这两个表的公共字段之中有相符值,内部联接将组合两个表中的记录。
语法:FROM table1 INNER JOIN table2 ON table1.field1 compopr table2.field2
说明:table1, table2参数用于指定从其中组合记录的表的名称。
field1, field2参数指定被联接字段的名称。如果这些字段不是数值的,被联接的字段必须是相同的数据类型,并且包含相同类型的数据,但是它们不必名称相同。
compopr参数用于指定关系比较运算符,如:"=", "<", ">", "<=", ">=", 或 "<>"。
如果在INNER JOIN操作中要联接包含Memo 数据类型或 OLE Object 数据类型数据的字段,将会发生错误。在一个 INNER JOIN 之中,可以嵌套 LEFT JOIN 或 RIGHT JOIN,但是在 LEFT JOIN 或 RIGHT JOIN 中不能嵌套 INNER JOIN。
因此此语句解释为:FROM(( UserTable INNER JOIN GPTInfo ON UserTable.UserNo = GPTInfo.UserNo)
INNER JOIN DayFactorTable ON GPTInfo.TermNo = DayFactorTable.TermNo )
是表UserTable和表GPTInfo将各自表中对应的UserNo项连接后再与表DayFactorTable中对应的TermNo项相连接。