iperf 是一个 TCP/IP 和 UDP/IP 的性能测量工具,能够提供网络吞吐率信息,以及震动、丢包率、最大段和最大传输单元大小等统计信息;从而能够帮助我们测试网络性能,定位网络瓶颈。
参数说明
-s 以server模式启动,eg:iperf -s
-c 以client模式启动,host是server端地址,eg:iperf -c 222.35.11.23
通用参数
-f [k|m|K|M] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,eg:iperf -c 222.35.11.23 -f K
-i sec 以秒为单位显示报告间隔,eg:iperf -c 222.35.11.23 -i 2
iperf是client端向server端发送数据
server端显示的是接收速率,最好加i参数,进行速率跟踪
client 显示的是发送速率
server 显示接收速率
-l 缓冲区大小,默认是8KB,eg:iperf -c 222.35.11.23 -l 16
可以使用不同的包长,进行测试
-m 显示tcp最大mtu值
-o 将报告和错误信息输出到文件eg:iperf -c 222.35.11.23 -o c:iperflog.txt
-p 指定服务器端使用的端口或客户端所连接的端口eg:iperf -s -p 9999;iperf -c 222.35.11.23 -p 9999
-u 使用udp协议
测试htb的时候最好用udp,udp通信开销小,测试的带宽更准确
-w 指定TCP窗口大小,默认是8KB
如果窗口太小,有可能丢包
-B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)
-C 兼容旧版本(当server端和client端版本不一样时使用)
-M 设定TCP数据包的最大mtu值
-N 设定TCP不延时
-V 传输ipv6数据包
server专用参数
-D 以服务方式运行ipserf,eg:iperf -s -D
-R 停止iperf服务,针对-D,eg:iperf -s -R
client端专用参数
-d 同时进行双向传输测试
-n 指定传输的字节数,eg:iperf -c 222.35.11.23 -n 100000
-r 单独进行双向传输测试
-b 指定发送带宽,默认是1Mbit/s
在测试qos的时候,这是最有用的参数。
-t 测试时间,默认10秒,eg:iperf -c 222.35.11.23 -t 5
默认是10s
-F 指定需要传输的文件
-T 指定ttl值
转换中的主要步骤:
1. 静态分析:收集声明和依赖的相关信息
2. 类型推断(Type inference):选出最合适的类型,是C++ scalar,String, Array, classes, Object还是Variant等…
3. 代码生成。大部分是直接将PHP的语句和表达式对应为 C++的语句和表达式。
与此同时,开发者还提供了—HPHPi,一个实验性的解释器。使用HPHPi,在运行之前也不必编译PHP源代码。
HipHop在保持了PHP优点的同时,也兼得了C++的性能优势。项目总共有30万行代码,5000多个单元测试。所有这些都将以PHP开源许可证形式发布到GitHub。
点击访问HipHop wiki:http://github.com/facebook/hiphop-php/wikis
当然是首先安装下载加速啦,不然下面的安装会好慢的
安装使用如下指令:
#cd /usr/ports/ftp/prozilla
#make install clean
中间会出现:

这是例子和HTML格式的手册页,不会用以后想研究的可以加上,然后选OK
安装完毕后,编辑或建立/etc/make.conf:
#ee /etc/make.conf
将原来的部分用#号注释掉,如果是最小化安装的话暂时是没有这个文件的。添加以下内容:
FETCH_CMD= proz
FETCH_BEFORE_ARGS= -r -k=4 –s FETCH_AFTER_ARGS= DISABLE_SIZE= yes prozilla如果偶尔不能正常下载的话,可以#掉/etc/make.conf下我们添加的内容。 2、安装Apache2.2.X 使用以下指令: # cd /usr/ports/www/apache22 #make install clean 出现图如下:

根据自已的不同选取安装模块,如果你不知道选取那些,那就默认,直接回答OK 即可,
默认已经足够了,所以我这里回答OK,
几分钟后安装完成了,快慢决定于你的网络快慢,因为他到网上下载安装包的,
3、 安装 PHP5.2.1
执行下列指令:
# cd /usr/ports/lang/php5
make install clean
在跳出的提示框中,使用如下配置

4、完成后继续安装一些常用的 PHP 模块,
请执行下列指令:
# cd /usr/ports/lang/php5-extensions/
make install clean
在跳出的提示框中,使用如下配置

出现一个选单,除了预设的项目外,我们必须再选择下列几个常用的项目:CTYPE、CURL、EXIF、FOLTER、FTP、GD、GETEXT、GMP、MBSTRING、MCRYPT、MYQL、PDF、IMAP、PCRE、SESSION、SOCKETS、ZLIB、ZIP。这些项目非常常用,尤其是 SESSION。
然后还会出现一个选单,保持默认就可以了:

然后这个要选上:

毕竟这是老外“希望”中国人用的东西。
安装完成后,运行cp –rp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini #php5
5.安装 MySQL
使用如下指令
# cd /usr/ports/databases/mysql50-server
# make install clean
# cd /usr/ports/databases/php5-mysql
# make install clean
6. Apache2.2.X 基本设定
安装完 Apache 后,我们必须先进行一些基本设定才可以开始使用。本节中,我们先介绍较常使用的设定项目,让您可以快速的设定好网页服务器,而更详细的 Apache 设定将于下一小节中说明。Apache 的设定档位于:
/usr/local/etc/apache22/httpd.conf、/usr/local/etc/apache22/extra/httpd-languages.conf、/usr/local/etc/apache22/extra/httpd-default.conf。
设定/usr/local/etc/apache22/httpd.conf
ServerAdmin 设定管理者邮件
设定您的信箱,这个信箱地址当网页出现错误讯息时将出现在该页面上。以下范例为默认值:
ServerAdmin [email protected]
ServerName 设定主机名称及端口号
ServerName 可以让您设定您的主机名称,如果您没有主机名称,可以设定为您机器所使用的 IP。ServerName 会被用来重新转向网址,例如,当您输入一个网址 「http://www.example.com/dir」时,Apache 会参考您在 ServerName 中的设定,将 www.example.com 改成 ServerName,并在您所输入的网址后加上一个斜线「/」以连到 dir 目录中,也就是将网址转向到「http://www.example.com/dir/」。如果您的网址设定不正确,则使用者可能会连到一个不存在的地址。
所以,如果您没有主机名称,可以将这个值设定为 IP,让网址转向后还是可以连到正确的地方。在 ServerName 的设定中,我们也指定了 HTTP 的连接埠 80。
ServerName www.example.com:80
DocumentRoot 设定网页根目录
DocumentRoot 可以让我们指定网页根目录的位置,也就是我们存放网页的目录。
DocumentRoot "/usr/local/www/apache22/data"
设定好 DocumentRoot 后,我们必须要再设定该目录的权限。在 DocumentRoot 之后,有下列区段:(中间有些#掉的注释)
Options Indexes FollowSymLinks 注解这项
#Options Indexes FollowSymLinks
AllowOverride None
order allow,deny
Allow from all
您必须将 也改成您的网页根目录位置。
DirectoryIndex 指定预设网页档名
DirectoryIndex index.html index.htm index.php index.php3 index.cgi index.pl
当使用者使用网址「http://www.example.com/dir」连到一个目录中时,如果没有指定网页,Apache 会去查找 DirectoryIndex 中所设定的网页在不在,如果存在则秀出预设的网页。
加入 PHP 支持
如果您要使用 PHP,则必须在 httpd.conf 中加入 PHP 的支持,请在 httpd.conf 档案其它AddType周围加入下列内容,以便归类:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
取消 #AddHandler cgi-script .cgi 前的 # ,并加 .pl 以支持 cgi , pl 如: AddHandler cgi-script .cgi .pl
上述设定完成后,您就可以存盘离开。 接下来,我们必在修改 /etc/rc.conf ,并加入下列设定以在开机时启动 Apache:
apache22_enable="YES"
重启虚拟机后,打开网页http://IP/ (请将 IP 改成您的虚拟机 IP),显示It works!,不像原来,有个漂亮的页面。
我们可以在网页根目录中新增一个档案来测试 PHP 是否有正常运作,请使用文书编辑软件在/usr/local/www/apache22/data下开一个新文件 test.php,并加入下列内容:
phpinfo();
?>
接下来您就可以连到该网页 http://IP/test.php (请将 IP 改成您的虚拟机 IP) 看看是否可以使用 PHP。如果有支持 PHP,则会显示 PHP 组态,如果没有,则只会出现上述档案内容。
7、 MySQL5.0.33 基本设定
修改 /etc/rc.conf 并加入下列这一行,以让开机时启动 MySQL:
mysql_enable="yes"
接着您就可以使用下列指令启动 MySQL 了:
# /usr/local/etc/rc.d/mysql-server start
启动 MySQL 后,我们就可以使用下列指令进入 MySQL 交互式命令列了:
# /usr/local/bin/mysql mysql
若安装成功,你将看到以下画面:

MySQL 刚安装完成时,并未设定 root 的密码,因此我们接着要设定 root 的密码并实时更新设定:
mysql> Update user SET password=password('你的密码') where user='root';
Query OK, 2 rows affected (0.01 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
最后请以 exit; 来离开 MySQL。
8、安装ZendOptimizer 3.2.8
cd /usr/ports/devel/ZendOptimizer
make install clean
根据提示,一直回答OK就可以了,
9、FTP 基本设定(以便上传其它测试网页)
在这里,我们使用内建的vsftp。
使用 inetd 的方式启动 FTP 服务器。首先,请编辑 /etc/inetd.conf,将 ftp 设定开头的 # 移除:
ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
ftp stream tcp6 nowait root /usr/libexec/ftpd ftpd -l
然后在 /etc/rc.conf 中加入
inetd_enable="YES"
接下来,我们重启虚拟机,就可以开始使用FreeBSD的FTP服务了。
10.经验教训
按本教程安装的话,不要改变安装顺序,否则会因为依赖关系而产生某些地方:少则要写几句多则某些东西要重装。