我正在尝试在基于 SAN 的基础架构上的 Linux 机器上对 Oracle 进行一些调整。我正在专门寻找可以让我们分析每个进程的 IO(或者每个进程树会更好)的工具。我的问题是?
- 为此类任务推荐哪些工具?
- 在基于 SAN 的基础架构上,我应该寻求衡量哪些其他有用的指标?
我正在尝试在基于 SAN 的基础架构上的 Linux 机器上对 Oracle 进行一些调整。我正在专门寻找可以让我们分析每个进程的 IO(或者每个进程树会更好)的工具。我的问题是?
我使用“iotop”取得了很好的效果。它通过 IO 使用获取每个进程的特定信息。
它像“顶部”一样工作
我不确定从安装了 SAN 的 Linux 机器上使用是否合理,或者您是否想要一个可以在 SAN 内运行的工具。
一旦你开始专业化,我发现最简单的事情是编写一些自定义脚本,从 /proc 下的文件中提取信息。
如果您正在进行分析,但您还没有工具可以为您提供所需的准确报告,那么您可能最终还是要编写一些脚本,而您在 Linux 下使用的大多数工具只是无论如何都要去 /proc 获取他们的信息,然后为您重新格式化。
如果您更关注数据库方面的事情,那么定期从 /proc 中提取信息、添加时间戳并以可以导入 RDBMS 的方式记录它会非常有用。如果您将所有服务器和进程性能信息放入单个 RDBMS 中,这会特别好,因为这样您就可以比较任意事物,例如不同服务器上相同应用程序的性能。
请记住,如果您进一步了解这一点,您将开始添加来自不同来源的信息,例如主机的 IPMI 监控,所以不要做您在使用超过 /proc 时必须撤消的事情。
您可以使用 sysstat 实用程序,它是 Linux 性能监控工具的集合。
来自网站 (perso.orange.fr/sebastien.godard/)
* Can monitor a huge number of different metrics:
1. Input / Output and transfer rate statistics (global, per device, per partition, per network filesystem and per Linux task / PID)
2. CPU statistics (global, per CPU and per Linux task / PID), including support for virtualization architectures
3. Memory and swap space utilization statistics
4. Virtual memory, paging and fault statistics
5. Per-task (per-PID) memory and page fault statistics
6. Global CPU and page fault statistics for tasks and all their children
7. Process creation activity
8. Interrupt statistics (global, per CPU and per interrupt, including potential APIC interrupt sources)
9. Extensive network statistics: network interface activity (number of packets and kB received and transmitted per second, etc.) including failures from network devices; network traffic statistics for IP, TCP, ICMP and UDP protocols based on SNMPv2 standards; support for IPv6-related protocols.
10. NFS server and client activity
11. Socket statistics
12. Run queue and system load statistics
13. Kernel internal tables utilization statistics
14. System and per Linux task switching activity
15. Swapping statistics
16. TTY device activity
17. Power management statistics
我通常使用atop来监控我的系统上的负载。某些功能需要您修补内核,但它会提供有关 I/O 以及其他信息的精确信息。
在基于 SAN 的基础架构上,我应该寻求衡量哪些其他有用的指标?
CPU 负载。它是 oracle 数据库的主要指标。
根据您想要获得的低级别,System Tap可能对您非常有用。它类似于 Solaris 上的 DTrace。