1.为什么需要磁盘阵列?
如何增加磁盘的存取(access)速度,如何防止数据因磁盘的故障而失落及如何有效的利用磁盘空间,一直是电脑专业人员和用户的困扰;而大容量磁盘的价格非常昂贵,对用户形成很大的负。磁盘阵列技术的产生一举解决了这些问题。
过去十几年来,CPU的处理速度增加了五十倍有多,内存(memory)的存取速度亦大幅增加,而数据储存装置--主要是磁盘(hard disk)--的存取速度只增加了三、四倍,形成电脑系统的瓶颈,拉低了电脑系统的整体性能(through put),若不能有效的提升磁盘的存取速度,CPU、内存及磁盘间的不平衡将使CPU及内存的改进形成浪费。
IMail Server 的命令行应用程序对于那些可以自动化的任务是非常有用的,否则管理员就会陷入巨大的麻烦中.这些应用程序可以接收来自Windows NT 的控制台输入; 同时,也输出反馈信息到控制台界面. 有多种的方法运行这些应用程序. 可以在控制台启动他们,在批处理文件中运行,或者运行存贮在文本文件中指定的程序.
本日志由 flyinweb 于 2009-06-19 23:30:56 发表到 技术文摘 中,目前已经被浏览 4186 次,评论 0 次;
作者添加了以下标签: imail命令行工具;
首页只显示了部分日志内容,要查看日志的全部内容请阅读全文;
1 tcpmux TCP Port Service Multiplexer 传输控制协议端口服务多路开关选择器
2 compressnet Management Utility compressnet 管理实用程序
3 compressnet Compression Process 压缩进程
5 rje Remote Job Entry 远程作业登录
7 echo Echo 回显
9 discard Discard 丢弃
11 systat Active Users 在线用户
13 daytime Daytime 时间
17 qotd Quote of the Day 每日引用
18 msp Message Send Protocol 消息发送协议
19 chargen Character Generator 字符发生器
20 ftp-data File Transfer [Default Data] 文件传输协议(默认数据口)
21 ftp File Transfer [Control] 文件传输协议(控制)
501 参数格式错误
502 命令不可实现
503 错误的命令序列
504 命令参数不可实现
211 系统状态或系统帮助响应
214 帮助信息
220 <domain> 服务就绪
221 <domain> 服务关闭传输信道
421 <domain> 服务未就绪,关闭传输信道(当必须关闭时,此应答可以作为对任何命令的响应)
250 要求的邮件操作完成
251 用户非本地,将转发向<forward-path>
450 要求的邮件操作未完成,邮箱不可用(例如,邮箱忙)
550 要求的邮件操作未完成,邮箱不可用(例如,邮箱未找到,或不可访问)
451 放弃要求的操作;处理过程中出错
551 用户非本地,请尝试<forward-path>
452 系统存储不足,要求的操作未执行
552 过量的存储分配,要求的操作未执行
553 邮箱名不可用,要求的操作未执行(例如邮箱格式错误)
354 开始邮件输
- [root@zzy5156 root]# telnet mideastshipping.com 25
- Trying 208.16.215.137...
- Connected to mideastshipping.com.
- Escape character is '^]'.
- 220 mideastshipping.com (IMail 8.14 155604-2) NT-ESMTP Server X1
- HELO zzy.cn
- 250 hello mideastshipping.com
- VRFY dawood@mideastshipping.com
- 250 ok its for <dawood@mideastshipping.com>
- quit
- 221 Goodbye
按照下列“Q”代表问题,“A”代表解答。
Q:the server says:550 relaying mail to <> is not allowed
Q:The server says:550 <>... relaying denied
Q:the server says:550 5.7.1 relaying not permitted:
A:使用某些Smtp服务器时,限制了收件人的地址,只能换一个Smtp服务器。
Q:The server says:550 <>:local user only
Q:The server says:550 <>:Invalid User
Q:The server says:550 Invalid recipient
A:使用163.net,163.com,yeah.net和netease.com之类的Smtp服务器时,只能用自身的信箱发信,所以要在Outlook Express的“帐户属性”中的“个人信息”里面填写正确的邮件地址。
本日志由 flyinweb 于 2009-06-19 23:24:41 发表到 技术文摘 中,目前已经被浏览 4169 次,评论 0 次;
作者添加了以下标签: SMTP Status Codes,SMTP reply codes;
首页只显示了部分日志内容,要查看日志的全部内容请阅读全文;
T-SQL允许你使用不同的方法解决一个问题.有的时候,尽管选择不是那么明显,但是却可以让你得到令人满意的和快乐的惊奇.下边让我们解读Dr. Tom Moreau对同一问题不同的可能性的探索.可能我们可以在那些不同的方法之中发现一些珍贵的东西.
让我们以我们的老朋友Northwind数据库为例,这里我们用到的是[order details]表,这个表是一个定单的明细表,和order表是多对一的关系.也就是一个定单对应多个订购的产品.假设你想得到每个定单订购的总价值,但是不包括59号产品.Listing 1给了我们第一种解法:
- select
- OrderID,sum (Quantity * UnitPrice) value
- from
- [Order Details] o1
- where
- ProductID <> 59
- group by
- OrderID
上边的语句很简单,它排除掉了59号产品的定单明细条目,然后进行分组统计.但是如果我们需要忽略掉订购59号产品的定单呢?也就是说我们要统计没有包含59号产品的定单的价值.你想到了WHERE, NOT EXIST(S)关键词了吗?Listing 2给了我们第二种方法:
- select
- o1.OrderID,sum (o1.Quantity * o1.UnitPrice) value
- from
- [Order Details] o1
- where not exists
- (
- select
- *
- from
- [Order Details] o2
- where
- o2.OrderID = o1.OrderID
- and o2.ProductID = 59
- )
- group by
- o1.OrderID
如果你不喜欢用exist的话,你可以转化成使用not in:
Listing 3
- select
- o1.OrderID,sum (o1.Quantity * o1.UnitPrice) value
- from
- [Order Details] o1
- where 59 not in
- (
- select
- ProductID
- from
- [Order Details] o2
- where
- o2.OrderID = o1.OrderID
- )
- group by
- o1.OrderID
尽管Listing 1不满足我们现在的查询条件.但是从性能发面考虑,Listing 1还是最好的,因为它只用到了一次表的扫描.而后边的两个查询都是用到了相关子查询,如果你查看查询计划就回看到,他们都涉及到了两次表的扫描.如果你曾经在 T-SQL用过交叉表查询的话,你就不会对聚集函数里边的case结构陌生.现在我们就把这个非常有趣的方法应用到我们的问题中来:
Listing 4
- select
- OrderID,sum (Quantity * UnitPrice) value
- from
- [Order Details] o1
- group by
- OrderID
- having
- sum (case when ProductID = 59 then 1 else 0 end) = 0
HAVING子句起到了对分组的结果进行过滤的作用.如果没有包含59号产品,就会出现0=0,显然这是满足条件的.如果包含了59号产品的订购,就会出现n=0(n<>0),这样的定单就回被过滤掉.查看执行计划你就回发现是一次表的扫描,非常棒!
再来举一个例子:我们这回用到的表是order表,假设我们要统计只通过一个雇员雇员下定单的顾客.你可以想到用子查询not exist来实现:
- select distinct
- o1.CustomerID
- from
- Orders o1
- where not exists
- (
- select
- *
- from
- Orders o2
- where
- o2.CustomerID = o1.CustomerID
- and o2.EmployeeID <> o1.EmployeeID
- )
同样的,这个语句可以通过带有HAVING子句的分组来实现.
Listing 6
- select
- CustomerID
- from
- Orders
- group by
- CustomerID
- having
- min (EmployeeID) = max (EmployeeID)
另一种方法:
Listing 7
- select
- CustomerID
- from
- Orders
- group by
- CustomerID
- having
- count (distinct EmployeeID) = 1
Listing 6和Listing 7查询消耗都要小于Listing 5.相比Listing 5的两次表扫描,他们只进行一次表的扫描.而Listing 6的损耗还要稍微小于Listing 7.但是,Listing 7的一个显著的特点就是它可以适应到一个顾客对应两个雇员,三个雇员......
其实大家可能现在明白了这篇文章将的是什么?它就是教我们怎么用having 子句来达到过滤组的目的.可以达到避免两次表扫描的目的.可以达到更高的性能.我从这篇文章学到了很多的方法,你呢?
在网络技术中,端口(Port)有好几种意思。集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如RJ-45端口、Serial端口等。我们这里所指的端口不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。
那么TCP/IP协议中的端口指的是什么呢?如果把IP地址比作一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535。
端口有什么用呢?我们知道,一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP 地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区分不同的服务的。
而且直接配置文件是效率最高的,通过其它驱动效率都相对较低,BDB
这个测试不太准确,看官方的测试结果:http://bind-dlz.sourceforg
为什么使用BDB时QPS这么低? 我在bind版本基本相似的环境中测试的
It is quite useful and interesting too.
VIRT 的上限是64G,也就是36位, cat /proc/cpuinfo的结果是:addre
昨天要准备用线程重写webbench,试验了下Fedora Linux 2.6.35.14
不明白您的具体的意思是什么?
已经发送到你QQ邮箱