PRF&PUB:20161216 The truth about traditional JavaScript benchmarks.md

@ictlyh
This commit is contained in:
wxy 2017-04-11 08:52:50 +08:00
parent dfbf7d3558
commit bc1c41ad25
2 changed files with 49 additions and 52 deletions

View File

@ -1,11 +1,11 @@
bmon - Linux 下一个强大的网络带宽监视和调试工具
bmonLinux 下一个强大的网络带宽监视和调试工具
============================================================
bmon 是类 Unix 系统中一个基于文本,简单但非常强大的 [网络监视和调试工具][1],它能抓取网络相关统计信息并把它们以用户友好的格式展现出来。它是一个可靠高效的带宽监视和网速预估器
bmon 是类 Unix 系统中一个基于文本,简单但非常强大的 [网络监视和调试工具][1],它能抓取网络相关统计信息并把它们以用户友好的格式展现出来。它是一个可靠高效的带宽监视和网速估测工具
它能使用各种输入模块读取输入,并以各种输出模式显示输出,包括交互式用户界面和用于脚本编写的可编程文本输出。
它能使用各种输入模块读取输入,并以各种输出模式显示输出,包括交互式文本用户界面和用于脚本编写的可编程文本输出。
**推荐阅读:** [监控 Linux 性能的20个命令行工具][2]
**推荐阅读:** [监控 Linux 性能的 20 个命令行工具][2]
### 在 Linux 上安装 bmon 带宽监视工具
@ -19,9 +19,9 @@ $ sudo apt-get install bmon [On Debian/Ubuntu/Mint]
另外,你也可以从 [https://pkgs.org/download/bmon][3] 获取对应你 Linux 发行版的 `.rpm` 和 `.deb` 软件包。
如果你想要最新版本例如版本4.0)的 bmon你需要通过下面的命令从源码构建。
如果你想要最新版本(例如版本 4.0)的 bmon你需要通过下面的命令从源码构建。
#### 在 CentOS、RHEL 和 Fedora 中
**在 CentOS、RHEL 和 Fedora 中**
```
$ git clone https://github.com/tgraf/bmon.git
@ -33,7 +33,7 @@ $ sudo make
$ sudo make install
```
#### 在 Debian、Ubuntu 和 Linux Mint 中
**在 Debian、Ubuntu 和 Linux Mint 中**
```
$ git clone https://github.com/tgraf/bmon.git
@ -47,7 +47,7 @@ $ sudo make install
### 如何在 Linux 中使用 bmon 带宽监视工具
通过以下命令运行它(初学者RX 表示每秒接收数据TX 表示每秒发送数据):
通过以下命令运行它(初学者说明RX 表示每秒接收数据TX 表示每秒发送数据):
```
$ bmon
@ -63,19 +63,19 @@ $ bmon
![bmon - Detailed Bandwidth Statistics](http://www.tecmint.com/wp-content/uploads/2017/02/bmon-Detailed-Bandwidth-Statistics.gif)
][5]
`[Shift + ?]` 可以查看快速指南。再次按 `[Shift + ?]` 可以退出(指南)界面。
`Shift + ?` 可以查看快速指南。再次按 `Shift + ?` 可以退出(指南)界面。
[
![bmon - 快速指南](http://www.tecmint.com/wp-content/uploads/2017/02/bmon-Quick-Reference.png)
][6]
bmon 快速指南
*bmon 快速指南*
通过 `Up` 和 `Down` 箭头键可以查看特定网卡的统计信息。但是,要监视一个特定的网卡,你也可以像下面这样作为命令行参数指定。
**推荐阅读:** [监控 Linux 性能的13个工具][7]
**推荐阅读:** [监控 Linux 性能的 13 个工具][7]
标签 `-p` 指定了要显示的网卡,在下面的例子中,我们会监视网卡 `enp1s0`
选项 `-p` 指定了要显示的网卡,在下面的例子中,我们会监视网卡 `enp1s0`
```
$ bmon -p enp1s0
@ -84,31 +84,30 @@ $ bmon -p enp1s0
![bmon - 监控以太网带宽](http://www.tecmint.com/wp-content/uploads/2017/02/bmon-Monitor-Ethernet-Bandwidth.png)
][8]
bmon 监控以太网带宽
*bmon 监控以太网带宽*
要查看每秒位数而不是字节数,可以像下面这样使用 `-b` 标签
要查看每秒位数而不是每秒字节数,可以像下面这样使用 `-b` 选项
```
$ bmon -bp enp1s0
```
我们也可以像下面这样指定每秒的间隔数
我们也可以像下面这样按秒指定刷新间隔时间
```
$ bmon -r 5 -p enp1s0
```
### 如何使用 bmon 的输入模块
### How to Use bmon Input Modules
bmon 有很多能提供网卡统计数据的输入模块,其中包括:
1. netlink - 使用 Netlink 协议从内核中收集网卡和流量控制统计信息。这是默认的输入模块。
2. proc - 从 /proc/net/dev 文件读取网卡统计信息。它被认为是传统界面且提供了向后兼容性。它是 Netlink 接口不可用时的备用模块。
2. proc - 从 `/proc/net/dev` 文件读取网卡统计信息。它被认为是传统界面,且提供了向后兼容性。它是 Netlink 接口不可用时的备用模块。
3. dummy - 这是用于调试和测试的可编程输入模块。
4. null - 停用数据收集。
要查看关于某个模块的其余信息,可以像下面这样使用 “help” 选项调用它:
要查看关于某个模块的其余信息,可以像下面这样使用 `help` 选项调用它:
```
$ bmon -i netlink:help
@ -125,12 +124,11 @@ $ bmon -i proc -p enp1s0
bmon 也使用输出模块显示或者导出上面输入模块收集的统计数据,输出模块包括:
1. curses - 这是一个交互式的文本用户界面,它提供实时的网上估计以及每个属性的图形化表示。这是默认的输出模块。
2. ascii - 这是用于用户查看的简单可编程文本输出。它能显示网卡列表、详细计数以及图形到控制台。当 curses 不可用时这是默认的备选输出模块。
2. ascii - 这是用于用户查看的简单可编程文本输出。它能显示网卡列表、详细计数以及图形到控制台。当 curses 不可用时这是默认的备选输出模块。
3. format - 这是完全脚本化的输出模式,供其它程序使用 - 意味着我们可以在后面的脚本和程序中使用它的输出值进行分析。
4. null - 停用输出。
像下面这样通过 “help” 标签获取更多的模块信息。
To get more info concerning a module, run the it with the “help” flag set like so:
像下面这样通过 `help` 选项获取更多的模块信息。
```
$ bmon -o curses:help
@ -144,7 +142,7 @@ $ bmon -p enp1s0 -o ascii
![bmon - Ascii 输出模式](http://www.tecmint.com/wp-content/uploads/2017/02/bmon-Ascii-Output-Mode.png)
][9]
bmon Ascii 输出模式
*bmon Ascii 输出模式*
我们也可以用 format 输出模式,然后在脚本或者其它程序中使用获取的值:
@ -155,7 +153,7 @@ $ bmon -p enp1s0 -o format
![bmon - Format 输出模式](http://www.tecmint.com/wp-content/uploads/2017/02/bmon-format-output-mode.png)
][10]
bmon Format 输出模式
*bmon Format 输出模式*
想要其它的使用信息、选项和事例,可以阅读 bmon 的 man 手册:
@ -163,7 +161,7 @@ bmon Format 输出模式
$ man bmon
```
访问 bmon 的Github 仓库:[https://github.com/tgraf/bmon][11].
访问 bmon 的 Github 仓库:[https://github.com/tgraf/bmon][11]
就是这些,在不同场景下尝试 bmon 的多个功能吧,别忘了在下面的评论部分和我们分享你的想法。
@ -171,7 +169,7 @@ $ man bmon
译者简介:
Aaron Kili 是一个 Linux 和 F.O.S.S 爱好者、Linux 系统管理员、网络开发人员,现在也是 TecMint 的内容创作者,喜欢和电脑一起工作,坚信共享知识。
Aaron Kili 是一个 Linux 和 F.O.S.S 爱好者、Linux 系统管理员、网络开发人员,现在也是 TecMint 的内容创作者,喜欢和电脑一起工作,坚信共享知识。
--------------------------------------------------------------------------------
@ -179,7 +177,7 @@ via: http://www.tecmint.com/bmon-network-bandwidth-monitoring-debugging-linux/
作者:[Aaron Kili][a]
译者:[ictlyh](https://github.com/ictlyh)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

View File

@ -7,27 +7,25 @@ DHCPDynamic Host Configuration Protocol是一个网络协议它使得
在这篇指南中,我们会介绍如何在 CentOS/RHEL 和 Fedora 发行版中安装和配置 DHCP 服务。
#### 设置测试环境
### 设置测试环境
本次安装中我们使用如下的测试环境
本次安装中我们使用如下的测试环境
```
DHCP 服务器 - CentOS 7
DHCP 客户端 - Fedora 25 和 Ubuntu 16.04
```
- DHCP 服务器 - CentOS 7
- DHCP 客户端 - Fedora 25 和 Ubuntu 16.04
#### DHCP 如何工作?
### DHCP 如何工作?
在进入下一步之前,让我们首先了解一下 DHCP 的工作流程:
* 当已连接到网络的客户端计算机(配置为使用 DHCP启动时它会发送一个 DHCPDISCOVER 消息到 DHCP 服务器。
* 当 DHCP 服务器接收到 DHCPDISCOVER 请求消息时,它会回复一个 DHCPOFFER 消息。
* 客户端收到 DHCPOFFER 消息后,它再发送给服务器一个 DHCPREQUEST 消息,表示客户端已准备好获取 DHCPOFFER 消息中提供的网络配置。
* 最后DHCP 服务器收到客户端的 DHCPREQUEST 消息,并回复 DHCPACK 消息,表示允许客户端使用分配给它的 IP 地址。
* 当已连接到网络的客户端计算机(配置为使用 DHCP启动时它会发送一个 `DHCPDISCOVER` 消息到 DHCP 服务器。
* 当 DHCP 服务器接收到 `DHCPDISCOVER` 请求消息时,它会回复一个 `DHCPOFFER` 消息。
* 客户端收到 `DHCPOFFER` 消息后,它再发送给服务器一个 `DHCPREQUEST` 消息,表示客户端已准备好获取 `DHCPOFFER` 消息中提供的网络配置。
* 最后DHCP 服务器收到客户端的 `DHCPREQUEST` 消息,并回复 `DHCPACK` 消息,表示允许客户端使用分配给它的 IP 地址。
### 第一步:在 CentOS 上安装 DHCP 服务
1. 安装 DHCP 服务非常简单,只需要运行下面的命令即可。
1安装 DHCP 服务非常简单,只需要运行下面的命令即可。
```
$ yum -y install dhcp
@ -35,7 +33,7 @@ $ yum -y install dhcp
重要:假如系统中有多个网卡,但你想只在其中一个网卡上启用 DHCP 服务,可以按照下面的步骤在该网卡上启用 DHCP 服务。
2. 打开文件 /etc/sysconfig/dhcpd将指定网卡的名称添加到 DHCPDARGS 列表,假如网卡名称为 `eth0`,则添加:
2、 打开文件 `/etc/sysconfig/dhcpd`,将指定网卡的名称添加到 `DHCPDARGS` 列表,假如网卡名称为 `eth0`,则添加:
```
DHCPDARGS=eth0
@ -45,9 +43,9 @@ DHCPDARGS=eth0
### 第二步:在 CentOS 上配置 DHCP 服务
3. 对于初学者来说,配置 DHCP 服务的第一步是创建 `dhcpd.conf` 配置文件DHCP 主要配置文件一般是 /etc/dhcp/dhcpd.conf默认情况下该文件为空该文件保存了发送给客户端的所有网络信息。
3 对于初学者来说,配置 DHCP 服务的第一步是创建 `dhcpd.conf` 配置文件DHCP 主要配置文件一般是 `/etc/dhcp/dhcpd.conf`(默认情况下该文件为空),该文件保存了发送给客户端的所有网络信息。
但是,有一个样例配置文件 /usr/share/doc/dhcp*/dhcpd.conf.sample这是配置 DHCP 服务的良好开始。
但是,有一个样例配置文件 `/usr/share/doc/dhcp*/dhcpd.conf.sample`,这是配置 DHCP 服务的良好开始。
DHCP 配置文件中定义了两种类型的语句:
@ -60,7 +58,7 @@ DHCP 配置文件中定义了两种类型的语句:
$ cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
```
4. 然后,打开主配置文件并定义你的 DHCP 服务选项:
4 然后,打开主配置文件并定义你的 DHCP 服务选项:
```
$ vi /etc/dhcp/dhcpd.conf
@ -76,7 +74,7 @@ max-lease-time 7200;
authoritative;
```
5. 然后,定义一个子网;在这个事例中,我们会为 192.168.56.0/24 局域网配置 DHCP注意使用你实际场景中的值
5 然后,定义一个子网;在这个事例中,我们会为 `192.168.56.0/24` 局域网配置 DHCP注意使用你实际场景中的值
```
subnet 192.168.56.0 netmask 255.255.255.0 {
@ -91,7 +89,7 @@ range 192.168.56.120 192.168.56.200;
### 第三步:为 DHCP 客户端分配静态 IP
只需要在 /etc/dhcp/dhcpd.conf 文件中定义下面的部分,其中你必须显式指定它的 MAC 地址和打算分配的 IP你就可以为网络中指定的客户端计算机分配一个静态 IP 地址:
只需要在 `/etc/dhcp/dhcpd.conf` 文件中定义下面的部分,其中你必须显式指定它的 MAC 地址和打算分配的 IP你就可以为网络中指定的客户端计算机分配一个静态 IP 地址:
```
host ubuntu-node {
@ -112,7 +110,7 @@ fixed-address 192.168.56.110;
$ ifconfig -a eth0 | grep HWaddr
```
6. 现在,使用下面的命令启动 DHCP 服务,并使在下次系统启动时自动启动:
6 现在,使用下面的命令启动 DHCP 服务,并使在下次系统启动时自动启动:
```
---------- On CentOS/RHEL 7 ----------
@ -120,9 +118,10 @@ $ systemctl start dhcpd
$ systemctl enable dhcpd
---------- On CentOS/RHEL 6 ----------
$ service dhcpd start
$ chkconfig dhcpd on```
$ chkconfig dhcpd on
```
7. 另外,别忘了使用下面的命令允许 DHCP 服务通过防火墙DHCPD 守护进程通过 UDP 监听67号端口
7 另外,别忘了使用下面的命令允许 DHCP 服务通过防火墙DHCPD 守护进程通过 UDP 监听67号端口
```
---------- On CentOS/RHEL 7 ----------
@ -135,7 +134,7 @@ $ service iptables save
### 第四步:配置 DHCP 客户端
8. 现在,你可以为网络中的客户端配置自动从 DHCP 服务器中获取 IP 地址。登录到客户端机器并按照下面的方式修改以太网接口的配置文件(注意网卡的名称和编号):
8 现在,你可以为网络中的客户端配置自动从 DHCP 服务器中获取 IP 地址。登录到客户端机器并按照下面的方式修改以太网接口的配置文件(注意网卡的名称和编号):
```
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
@ -152,15 +151,15 @@ ONBOOT=yes
保存文件并退出。
9. 你也可以在桌面服务器中按照下面的截图Ubuntu 16.04桌面版)通过 GUI 设置 Method 为 Automatic (DHCP)。
9 你也可以在桌面服务器中按照下面的截图Ubuntu 16.04桌面版)通过 GUI 设置 `Method``Automatic (DHCP)`
[
![Set DHCP in Client Network](http://www.tecmint.com/wp-content/uploads/2017/03/Set-DHCP-in-Client-Network.png)
][3]
在客户端网络中设置 DHCP
*在客户端网络中设置 DHCP*
10. 按照下面的命令重启网络服务(你也可以通过重启系统):
10 按照下面的命令重启网络服务(你也可以通过重启系统):
```
---------- On CentOS/RHEL 7 ----------
@ -190,7 +189,7 @@ via: http://www.tecmint.com/install-dhcp-server-in-centos-rhel-fedora/
作者:[Aaron Kili][a]
译者:[ictlyh](https://github.com/ictlyh)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出