专注业务连续性支持与数据保护
2009-04-01关注学习

华为S3552/3528 限速实例已关闭评论

华为S3552/3528 限速实例

CBS=EBS=2000/8*1.2*1024=307200Byte。

处理过程:
配置output方向端口限速整形(对出端口的报文—–2M 带宽)
推荐配置对端口上所有的流量都进行流量整形,而不要配置针对某个输出队列的流量整形,
而且粒度最小650k,所以650Kbps ×4=2600
[Quidway-Ethernet0/1]traffic-shape 10400(给用户最大速率) 140(允许速率达到最大后的突发值:140指突发1.2Mbit) 256(默认值)
配置input方向端口流量限速(对入端口的报文—–2M 带宽):
先配置一个link-group的any-any 的ACL
[Quidway-acl-link-4000]
rule permit ingress any egress any
[Quidway-Ethernet0/1]
traffic-limit inbound link-group 4000 2048 2560 2560 2048 conform remark-policed-service exceed drop
命令格式(CIR=PIR,CBS=EBS=CIR/8*1.2*1024)
traffic-limit inbound ip-group 4000 CIR CBS EBS PIR
traffic-shape 10400(给用户最大速率) 140(允许速率达到最大后的突发值:140指突发1.2Mbit) 256(默认值)
10M
traffic-limit inbound link-group 4000 10240 1572864 1572864 10240
20M
traffic-limit inbound link-group 4000 20480 3145728 3145728 20480
30M
traffic-limit inbound link-group 4000 30720 4718592 4718592 30720
40M
traffic-limit inbound link-group 4000 40960 6291456 6291456 40960
50M
traffic-limit inbound link-group 4000 51200 7864320 7864320 51200
60M
traffic-limit inbound link-group 4000 rule 0 61440 9437184 9437184 61440
70M
traffic-limit inbound link-group 4000 rule 0 71680 9437184 9437184 71680
80M
traffic-limit inbound link-group 4000 rule 0 81920 9437184 9437184 81920
90M
traffic-limit inbound link-group 4000 rule 0 92160 9437184 9437184 92160
undo traffic-limit inbound link-group 4000
undo traffic-shape
traffic-limit inbound ip-group 4000 rule 0 51200(平均流量kbps) 62914560(峰值流量byte) 0(超出流量byte)
traffic-shape 52000(平均流量kbps 650的备数) 16000(峰值流量kbyte 4k的倍数) 256
traffic-shape

2009-04-01技术合集

Linux下编译PHP时遇到的安装libmcrypt库的问题已关闭评论

Linux下编译PHP时遇到的安装libmcrypt库的问题

./configure –prefix=/usr/local/php-5.2.3 –enable-module=so –with-mysql=/usr/local/mysql-5.1.20 –with-apxs2=/usr/local/apache-2.2.4/bin/apxs –enable-mbstring –with-mcrypt

通过以上命令配置PHP时,遇到错误,总说找不到libmcrypt。由于这服务器是个裸机,很多必须的库都没装,必须一个一个的手动安装,可libmcrypt这个库我的确装过了。重试n遍,无解。在网上找了半天,终于在phpbuilder.com的一个maillist里发现一个哥们儿遇到的问题跟我差不多,按照他的方法做了一下,居然解决了。原文在这:http://www.phpbuilder.com/lists/php-install/2004032/0090.php

做为一个懒人,我就不逐句翻译了,摘抄解决办法如下:

——————————-
the solution
——————————-
Then I visited
http://mcrypt.hellug.gr/mcrypt/index.html
an learned that I have to install not only libmcrypt
but also mcrypt and libmhash.

Here is the to do:

libmcrytp:
———–
download libmcrypt-xxx.tar.gz
create the following directory: / usr / local / libmcrypt
copy the libmcrypt-xxx.tar.gz into that directory and move to it
run the following shell (>) commands: (’xxx’ is the version number)
> gunzip -c libmcrypt-xxx.tar.gz | tar xf –
> cd libmcrypt-xxx
> ./configure –disable-posix-threads
> make
> make check (note: ‘make check’ is optional)
> make install
then (update your environment) add in / etc / profile the following path:
/usr/local/libmcrypt/libmcrypt-xxxx
(note: as I run Red Hat 7.3 I set the line a f t e r the if-part
(id -u = 0 …) with: pathmunge /usr/local / libm….)
and add in / etc / ld.so.conf the following path: /usr/local/lib
then run ldconfig:
> ldconfig
now comes the important part:
> cd /usr/local/libmcrypt/libmcrypt-xxx/libltdl
> ./configure –enable-ltdl-install
> make
> make install

(maybe not needed: I also added a link in / usr / bin: )
(> cd /usr/bin)
(> ln -s /usr/lib/libltdl.so.3.1.0 ltdl)

mhash:
———–
download mhash-xxx.tar.gz
create the following directory: / usr / local / mhash
copy the mhash-xxx.tar.gz into that directory and move to it
run the following shell (>) commands: (’xxx’ is the version number)
> gunzip -c mhash-xxx.tar.gz | tar xf –
> cd mhash-xxx
> ./configure
> make
> make check (note: ‘make check’ is optional)
> make install

mcrypt:
———–
download mcrypt-xxx.tar.gz
create the following directory: / usr / local / mcrypt
copy the mcrypt-xxx.tar.gz into that directory and move to it
run the following shell (>) commands: (’xxx’ is the version number)
> gunzip -c mcrypt-xxx.tar.gz | tar xf –
> cd mhash-xxx
> ./configure
> make
> make check (note: ‘make check’ is optional)
> make install

back to PHP:
————–
move into your PHP installation directory
then the following command worked on my computer:
>
./configure –with-apache=/usr/local/apache/apache_1.3.29 –with-mysql –wit
h-mcrypt=/usr/local/mcrypt/mcrypt-2.6.4
> make
> make install

2009-04-01技术合集

电源无主板测试已关闭评论

电源无主板测试

电源是保证计算机正常工作的第一关。很多时候机子“点不亮”,且电源,CPU风扇均不转动,也不鸣叫之时,我们的排查要先从电源开始……
除却接入市电的故障之后,没有专业工具的情况下,可以利用ATX电源的“电位”控制开关原理,进行脱机带电测试。当然首先,你得从主板上拔出主板供电的20PIN/24PIN的插头,然后确认电源风扇是可以转动的(这玩意儿跟原装CPU风扇好不到哪儿去,用两年以上保不准就因润滑问题转动僵滞而无法正常工作—温度过高,自保护断电或烧毁元器件)。
废话不多说,电源接上电,拿一个金属铁丝或镊子之类的,总之就是能让20/24针插头上的针脚能够短接的就成;找到一条绿色线和一条黑色线,两者短接即可–不用担心被电到!最高电压也不过12伏,离36伏的危险电压还有一大截呢。若风扇转动,则说明电源基本运行正常。

2009-04-01技术合集

双线机房配置IIS 6.0的HTTP压缩节省带宽已关闭评论

双线机房配置IIS 6.0的HTTP压缩节省带宽

现在双线机房托管服务器,普遍带宽小,价格贵,采用http压缩可以有效节省带宽。
HTTP 压缩的好处:

静态网页采用HTTP 压缩,大约可以减少20%的传输量。
用户端使用IE 5.0浏览器连线到已经启用HTTP压缩IIS 5.0之Web伺服器,才有HTTP压缩功能。如今,绝大多数的现代浏览器支持压缩技术,但是,具体的压缩方式取决于浏览器。不过你无需对此担心,因为只有浏览器指示支持一种压缩方式时,Web服务器才会发送压缩内容。尽管如此,了解一下这种处理机制和不同浏览器支持的压缩类型也是一件有意义的事。

浏览器在要求一个网址时,会把支持的压缩格式通过Accept-Encoding的HTTP头提交给服务器,IIS或其它Web服务器则从HTTP_ACCEPT_ENCODING环境变量读取这个信息,这个过程无需你人为干预,IIS在浏览器支持压缩的情况下会自动对发送的内容进行合适的编码。

下表列出了常见的浏览器和它们支持的编码类型:

浏览器 支持的编码
Firefox 1.0, Mozilla 1.x, Camino gzip, deflate
OmniWeb 5.x bzip2, gzip, deflate
Safari gzip, deflate
Internet Explorer gzip, deflate

使用 HTTP 压缩:

如果您的站点使用了很大的带宽,或者您希望更加有效地使用带宽,请考虑启用 HTTP 压缩。HTTP 压缩在启用压缩的浏览器和 IIS 之间提供了更短的传输时间。既可以只压缩静态文件,又可以同时压缩静态文件和应用程序响应。如果网络带宽受到限制,使用 HTTP 压缩会很有用(至少对于静态文件来说),除非处理器利用率已经很高。

动态处理会影响 CPU 资源。对动态响应启用压缩后,每次请求动态响应时都会进行压缩。这意味着并不缓存动态响应,每次请求动态响应时,服务器可能需要更多的 CPU 周期来压缩和发送响应。已压缩的静态响应可以被缓存,因此不会像动态响应那样影响 CPU 资源。

HTTP 压缩的工作原理:

IIS 在接收到请求时,将检查浏览器是否允许压缩。然后 IIS 会检查文件扩展名,以确定请求的文件是否为静态文件或包含动态内容。如果文件包含静态内容,IIS 将查看以前是否请求过该文件并且已将该文件以压缩格式存储在临时压缩目录中。如果文件没有以压缩格式存储,IIS 会将未压缩的文件发送到浏览器,并在临时压缩目录中添加此文件的压缩副本。如果文件以压缩格式存储,IIS 会将压缩过的文件发送给浏览器。在浏览器首次请求之前,所有文件都不压缩。

如果文件包含动态内容,IIS 将在生成此响应时进行压缩并将压缩后的响应发送给浏览器。不存储此文件的副本。

压缩静态文件的性能代价较小,而且通常只压缩一次,因为该文件随后被存储在临时压缩目录中。压缩动态生成的文件的代价要高一些,因为它们并不存储,并且每次请求时都必须重新生成。在浏览器上展开文件的代价非常小。压缩文件的下载速度更快,所以对于提高使用有限带宽的网络连接(如调制解调器连接)的所有浏览器的性能特别有好处。

默认情况下,压缩文件的截止日期是 1997 年 1 月 1 日,以防止服务器将缓存的压缩文件副本发送到未启用压缩的浏览器。这也意味着浏览器在下一次用户请求时并不显示文件的缓存副本,而是返回服务器请求新副本。

启用 HTTP 压缩:

如果服务器生成大量的动态内容,则需要考虑压缩造成的额外处理代价是否值得付出。如果 % 处理器时间计数器已经达到或超过 80%,则不建议启用 HTTP 压缩。

测试 HTTP 压缩:

要创建一个基线,请使用系统监视器记录几天内“处理器”对象的 % 处理器时间计数器的值。此计数器有一个总实例以及系统中每个处理器的单独实例。(如果服务器有多个处理器,应该同时观察单个处理器和总的处理器情况,以发现工作量分配不平衡之处)此外,还应该记录“网络接口”对象的发送的字节数/秒计数器。 启用压缩并继续在一段时间内记录这些计数器的值,最好是几天,这样就能得到好的对比依据。 将未压缩时的值和压缩过的值相比较。

现在引入正题,

如何配置 Microsoft Internet Information Server 6.0 实现 HTTP 压缩:

有很多第三方工具可以实现 HTTP 压缩,但都是需要购买的,价格在 100 到 300 美圆不等,如:http://www.port80soft.com/的 HTTPZip,如果不希望额外花钱实现这一功能的话,只好自己辛苦一下,接着看吧:

1.首先备份 IIS 的配置文件,

复制 C:\Windows\system32\inetsrv\metabase.xml 到另外的备份文件夹中.

C:\Windows\system32\inetsrv\metabase.xml 是 IIS 的核心配置文件,该文件的完整性一但被破坏,IIS 将无法正常运行,严重到需要重新安装系统.

2. 在开始菜单中启动 Internet 信息服务(IIS)管理器,右键点击“网站”属性,打开“服务”选项卡,勾选“HTTP 压缩”的两个选项。“临时目录”和“临时目录最大容量”可根据需要自行设置。设置完成后点击确定。

3.右键点击“网站”下方的 “Web服务扩展”,添加一个新的Web服务扩展,扩展名填写为“HTTP Compression”或其他,都可以。“要求的文件”添加:c:\windows\system32\inetsrv\gzip.dll ,并勾选“设置扩展状态为允许”,完成后点击确定。

4.下面的步骤有些复杂,如果没有确定的把握能理解,最好不要尝试,右键点击“Internet 信息服务的”“本地计算机”属性,勾选“允许直接编辑配置数据库”并确定。

5. 在开始菜单中运行 notepad C:\Windows\system32\inetsrv\metabase.xml ,打开metabase.xml 文件,请在任何改动前再次确认该文件已经备份。

6. 搜索并找到 metabase.xml 文件中的 


注意“Compression/deflate”和“Compression/gzip”两个片段都需要修改。动态压缩等级,HcDynamicCompressionLevel 建议设置为“9”

7. 保存并关闭 metabase.xml 文件。

8. 重新启动 IIS 服务,运行“IISReset”或重新启动 WWW 服务。

9. 其他:

如果你的服务器上某一个Web站点不希望启用 IIS 压缩,请运行以下脚本:

cscript. C:\Inetpub\AdminScripts\adsutil.vbs set w3svc/site#/root/DoStaticCompression False
cscript. C:\Inetpub\AdminScripts\adsutil.vbs set w3svc/site#/root/DoDynamicCompression False

如果想增加启用 HTTP 压缩的文件类型,请运行以下脚本:

"" 中为文件扩展名,别忘了把原有的扩展名加上。

静态文件压缩:

CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/GZIP/HcFileExtensions "htm" "html" "txt" "doc" "ppt" "xls"

CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/DEFLATE/HcFileExtensions "htm" "html" "txt" "doc" "ppt" "xls"

动态文件压缩:

CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/GZIP/HcScriptFileExtensions "asp" "aspx" "asmx" "dll" "exe" "php"

CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/DEFLATE/HcScriptFileExtensions "asp" "aspx" "asmx" "dll" "exe" "php"

将site#替换为该 Web 站点的 ID。Web 站点的 ID 是什么到“日志记录属性”中看一下日志记录的“日志文件名”前面的路径就知道了。

运行以上脚本前务必备份,运行后再次执行“IISReset”使生效.

现在看一下 HTTP 压缩后的效果吧:

测试 HTTP 压缩效果的工具:

http://www.pipeboost.com/

http://www.seoconsultants.com/tools/compression.asp

2009-04-01技术合集

各种程序的伪静态规则已关闭评论

各种程序的伪静态规则

顾名思义, 伪静态是相对真实静态来讲的.
  通常我们为了更好的缓解服务器压力,和增强搜索引擎的友好面.都将文章内容生成静态页面.
  但是有的朋友为了实时的显示一些信息.或者还想运用动态脚本解决一些问题.不能用静态的方式来展示网站内容.
  但是这就损失了对搜索引擎的友好面.怎么样在两者之间找个中间方法呢,这就产生了伪静态技术.
  就是展示出来的是以.html一类的静态页面形式,但其实是用ASP一类的动态脚本来处理的.
  我的一个思路是用IIS的404错误处理机制来实现的.这个比rewrite技术要灵活得多.
  首先,设置站点属性-自定意错误
  找到HTTP错误404,然后编辑属性->消息类型选中URL->URL填入“/index.asp”,或您的错误处理页面.
  这样,比如用户或蜘蛛访问http://tech.todo.net.cn/12345.html 时(12345为文章在数据库的ID).由于些页面不存在,所以触发了404错误.转向了index.asp
  在index.asp里加
  CurrDomain=Request.ServerVariables("HTTP_HOST") '当前访问域名
  CurrURL=Replace(Request.ServerVariables("QUERY_STRING"),"404;http://"&CurrDomain&":80","") '当前访问URL
  此时的CurrURL应该是:12345.html .
  这样,就得到用户正在试图访问的页面.然后提取里边的文章ID(应该为:12345),用正则,这里就不多说了.
  然后到数据库里提取出文章内容.输出到页面里,就OK了.
  这样.用户或蜘蛛看到的URL还是他访问的URL.而我们对内容的处理上可以用到了动态技术.这就是我们想要的结果.
  说得简单了一些.但是基本思路就是这样了.
[编辑本段]伪静态的利与弊
  当然犹如一篇文章的作者所说的:"如果流量稍大一些使用伪静态就出现CPU使用超负荷,我的同时在线300多人就挂了,而不使用伪静态的时候同时在线超500人都不挂,我的ISS数是1000。”
  确实是这样的,由于伪静态是用正则判断而不是真实地址,分辨到底显示哪个页面的责任也由直接指定转由CPU来判断了,所以CPU占有量的上升,确实是伪静态最大的弊病。
  我们应该选择伪静态还是真静态?
  1、使用真静态和假静态对SEO来说没有什么区别
  2、使用真静态可能将导致硬盘损坏并将影响论坛性能
  3、使用伪静态将占用一定量的CPU占有率,大量使用将导致CPU超负荷
  4、最重要的一点,我们要静态是为了SEO
  所以:
  1、使用真静态的方法可以直接排除了,因为无论怎么生成,对硬盘来说都是很伤的。
  2、既然真伪静态的效果一样,我们就可以选择伪静态了。
  3、但是伪静态大量使用会照成CPU超负荷。
  4、所以我们只要不大量使用就可以了。
  5、既然静态只是给SEO看的,我们只需要伪静态给SEO就行了,不需要给用户使用。
  6、所以我们只要在专门提供给SEO爬的Archiver中使用伪静态就可以了。
  7、谢谢大家耐心看我写的文章。
  8、有何不解的地方或是有不同的看法欢迎提出。
  关于伪静态和真静态的评论
  真正的静态化和伪静态还是有本质的区别的。为浏览用户处理一个纯粹htm和一个调用多个数据的php在CPU的使用率方面明显前者少。记得原来有个人说html下载硬盘读写频繁,他这么说好像读取数据库不用读写磁盘似的,何况还有一大堆缓存的零散php也是放在硬盘的,这些读取不用磁盘操作么?可笑。
  读取单个htm+图片Flash等附件就可以实现的目的,何苦要读数据库又要读php缓存文件又要重新整合数据输出再+图片Flash等附件这么大费周章呢?CMS首页不需要很多的互动的,论坛那一套不应该拿到这里来用,相反应该更多考虑的是:美观!兼容!信息的直观!性能!还有稳定!

各种程序的伪静态规则

2009-04-01技术合集

SSH、PUTTY远程LINUX 乱码已关闭评论

SSH、PUTTY远程LINUX 乱码

vi /etc/sysconfig/i18n
将内容改为
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
这样中文在SSH,telnet终端就可以正常显示了。
或者改成下面的,正常显示英文。
LANG="en_US.UTF-8"
SUPPORTED="en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16

2009-04-01技术合集

linux对应PPPOE的sh脚本已关闭评论

linux对应PPPOE的sh脚本

#!/bin/bash
# 请先输入您的相关参数,不要输入错误了!
EXTIF="ppp0" # 这个是可以连上 Public IP 的网路介面
INIF="eth0" # 内部 LAN 的连接介面;若无请填 ""
INNET="10.0.0.0/8" # 内部 LAN 的网域,若没有内部 LAN 请设定为 ""
export EXTIF INIF INNET
# 第一部份,针对本机的防火墙设定!###########################
# 1. 先设定好核心的网路功能:
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
for i in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo "1" > $i
done
for i in /proc/sys/net/ipv4/conf/*/log_martians; do
echo "1" > $i
done
for i in /proc/sys/net/ipv4/conf/*/accept_source_route; do
echo "0" > $i
done
for i in /proc/sys/net/ipv4/conf/*/accept_redirects; do
echo "0" > $i
done
for i in /proc/sys/net/ipv4/conf/*/send_redirects; do
echo "0" > $i
done
# 2. 清除规则、设定预设政策及开放 lo 与相关的设定值
PATH=/sbin:/usr/sbin:/bin:/usr/bin; export PATH
iptables -F
iptables -X
iptables -Z
iptables -P INPUT Drop
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state –state RELATED -j ACCEPT
# 3. 启动额外的防火墙 script 模组
if [ -f /usr/local/virus/iptables/iptables.deny ]; then
sh /usr/local/virus/iptables/iptables.deny
fi
if [ -f /usr/local/virus/iptables/iptables.allow ]; then
sh /usr/local/virus/iptables/iptables.allow
fi
if [ -f /usr/local/virus/httpd-err/iptables.http ]; then
sh /usr/local/virus/httpd-err/iptables.http
fi
iptables -A INPUT -m state –state ESTABLISHED -j ACCEPT
# 4. 允许某些类型的 ICMP 封包进入
AICMP="0 3 3/4 4 11 12 14 16 18"
for tyicmp in $AICMP
do
iptables -A INPUT -i $EXTIF -p icmp –icmp-type $tyicmp -j ACCEPT
done
# 5. 允许某些服务的进入,请依照您自己的环境开启
# iptables -A INPUT -p TCP -i $EXTIF –dport 22 -j ACCEPT # SSH
# iptables -A INPUT -p TCP -i $EXTIF –dport 25 -j ACCEPT # SMTP
# iptables -A INPUT -p UDP -i $EXTIF –sport 53 -j ACCEPT # DNS
# iptables -A INPUT -p TCP -i $EXTIF –sport 53 -j ACCEPT # DNS
# iptables -A INPUT -p TCP -i $EXTIF –dport 80 -j ACCEPT # WWW
# iptables -A INPUT -p TCP -i $EXTIF –dport 110 -j ACCEPT # POP3
# iptables -A INPUT -p TCP -i $EXTIF –dport 443 -j ACCEPT # HTTPS
# 第二部份,针对后端主机的防火墙设定!##############################
# 1. 先载入一些有用的模组
modules="ip_tables iptable_nat ip_nat_ftp ip_nat_irc ip_conntrack
ip_conntrack_ftp ip_conntrack_irc"
for mod in $modules
do
testmod=`lsmod | grep "${mod} "`
if [ "$testmod" == "" ]; then
modprobe $mod
fi
done
# 2. 清除 NAT table 的规则吧!
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
# 3. 开放成为路由器,且为 IP 分享器!
if [ "$INIF" != "" ]; then
/sbin/iptables -A INPUT -i $INIF -j ACCEPT
echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -s $INNET -o $EXTIF -j MASQUERADE
fi
# 如果你的 MSN 一直无法连线,或者是某些网站 OK 某些网站不 OK,
# 可能是 MTU 的问题,那你可以将底下这一行给他取消注解来启动 MTU 限制范围
# iptables -A FORWARD -p tcp -m tcp –tcp-flags SYN,RST SYN -m tcpmss \
# –mss 1400:1536 -j TCPMSS –clamp-mss-to-pmtu
# 4. 内部伺服器的设定:
# iptables -t nat -A PREROUTING -p tcp -i $EXTIF –dport 80 \
# -j DNAT –to 192.168.1.210:80
# Deny All Other Connections
/sbin/iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT