Linux下通过修改网卡驱动的参数调整Intel网卡的性能
来源:互联网 发布:圣雄甘地 知乎 编辑:程序博客网 时间:2024/05/18 18:15
A Sample Configuration
Some example settings are described below. These numbers are for illustration purposes only. For
optimal performance, the exact controller configuration is best determined through actual
experimentation.
The discussion below assumes that software is optimizing for full-size frames of 1538 bytes.
The calculations below make use of the following facts:
•Gigabit Ethernet operates at 1.0 Gb/s or 1,000,000,000 bits per second. At this speed, the time required to transmit or receive a single bit (in other words, the bit-time) is 1.0 nanosecond.
•A full-size Ethernet frame requires 1538 bytes (12,304 bits) of bandwidth:
—8-byte preamble and start-of-frame delimiter
—14-byte Ethernet header
—1500-byte payload
—4-byte FCS
—12-byte inter-packet gap
•The controller can transmit or receive a full-size frame every 12.3 microseconds or approximately 81,000 packets per second.
Absolute Timers
Configuring the absolute timers is typically a matter of determining the desired interrupt rate or the
desired number of packets per interrupt. To receive approximately 3000 interrupts per second,software would configure the absolute timers to interrupt every 333 microseconds.
Alternately, to receive approximately 50 packets per interrupt, the controller must interruptapproximately 1620 times per second (81,000 packets-per-second at 50 packets-per-interrupt).
Software would then configure the absolute timers to interrupt every 617 microseconds.
Packet Timers
Experiments have shown that values between 20 and 40 microseconds work well for the packettimers.
Software might set the packet timers to expire after 2 full-length packet-times, or approximately 25
microseconds. The packet timers would then expire when throughput falls below about 333Mbps
(two unused packet-times follow every packet arrival, so approximately one-third of the total
bandwidth is in use). At greater levels of utilization, the packet timers would likely chain
repeatedly until the one of the absolute timers expired.
Interrupt Throttle Timer
Configuring the throttle timer is simply a question of determining the desired maximum interrupt
rate. As described earlier, software may realize better results by setting the throttle timer to
interrupt slightly more often than desired to reduce unnecessary latencies.
For typical applications, software might configure the controller to interrupt no more than 5000
times per second.
Different operating systems and environments will be capable of sustaining different maximum
interrupt rates. Experiments have demonstrated that Microsoft Windows-based operating systems
perform best when the device interrupts between 4,000 and 12,000 times per second. Linux-based
operating systems appear to perform best with an interrupt rate between 1,000 and 8,000 interrupts
per second. Other operating systems will perform differently.
Additional Tuning Considerations
The example configuration described above will require modifications to suit the intended
environment. The following factors may influence the tuning of the interrupt moderationparameters:
•The latency associated with scheduling an interrupt handler. Larger scheduling latencies
imply larger packet latencies. Lower interrupt delays may be required in these situations
to avoid overrun conditions and excessive per-packet delays.
•The cost associated with handling an interrupt. In OS with low-cost interrupts, higher interrupt rates may be acceptable. In OS with high-cost interrupts, lower interrupt rates may be required.
•The expected mixture of packet sizes. The preceding discussion assumes that software is optimizing for full-size frames. Optimizing for small packets or for a variety of packet sizes requires recalculating the expected packet rate.
•The expected network utilization. High utilization implies high traffic rates, which makes the controller more susceptible to overrun conditions if it delays interrupts too long.
- Linux下通过修改网卡驱动的参数调整Intel网卡的性能
- Linux下通过修改网卡驱动的参数调整Intel网卡的性能zz
- Linux下通过修改网卡驱动的参数调整Intel网卡的性能
- Linux下调整网卡的工作模式
- Linux下调整网卡的工作模式
- Ubuntu12.04下Intel 82579LM 集成网卡的驱动
- 手动安装Intel network I217-LM网卡的Linux驱动
- 调整linux网卡的顺序
- linux下无线网卡驱动的解决
- Linux下无线网卡驱动的解决
- linux下无线网卡驱动的解决
- 修改Intel 无线网卡遇到的问题
- Linux Intel网卡IGB驱动修改mac地址
- Linux下修改网卡的ip地址
- Linux下修改网卡名称的方法
- Linux下修改网卡的mac地址
- Linux下修改网卡的mac地址
- linux下修改网卡的mac地址
- linux下查看文件描述符信息
- 读书——影响力
- Jmail发送带有附件,正文如何使用HTML
- java设计模式之工厂方法模式
- Winform中Controls的Insert方法为什么不见了?
- Linux下通过修改网卡驱动的参数调整Intel网卡的性能
- 散列表(也叫哈希表),
- 关于Activesync 无法连接PPC 的解决过程及方法
- sql注入
- kernel module编程(二):一些古老的记忆
- 丢失tempdb无法启动SQL Server2005的故障排除
- Ajax入门
- SQLite3的数据类型
- ShaderX2下载地址