ホームページ  >  記事  >  システムチュートリアル  >  Linux システムにおける 12 のパフォーマンス チューニング コマンドを確認します。

Linux システムにおける 12 のパフォーマンス チューニング コマンドを確認します。

王林
王林転載
2024-02-13 10:54:311246ブラウズ

パフォーマンス チューニングは、運用およびメンテナンス エンジニアにとって常に最も重要なタスクの 1 つです。運用環境でシステムの応答が遅い、異常なハードディスク IO スループット、データ処理速度が予想より低い、または CPU などのシステム リソースが低下している場合、メモリ、ハードディスク、ネットワークが長時間にわたって使い果たされている場合は、この記事が非常に役に立ちます。そうでない場合は、まず保存してください。

Linux システムにおける 12 のパフォーマンス チューニング コマンドを確認します。

1、hdparm チェック硬度読み取り速度:

リーリー

2、iostat はディスク IO ステータスを検出します:

リーリー Linux システムにおける 12 のパフォーマンス チューニング コマンドを確認します。

#「

blk_read/s 1 秒あたりに読み取られるデータ ブロックの数

blk_wrtn/s 1 秒あたりに書き込まれるデータ ブロックの数

blk_read は、読み取られたすべてのデータ ブロックの数を表します

blk_wrtn は書き込まれたすべてのデータ ブロックの数を表します

#3、vmstat はメモリと CPU のステータスを報告します:

名称:报告虚拟内存的统计信息
格式:vmstat [-n] [延时[次数]]
Linux システムにおける 12 のパフォーマンス チューニング コマンドを確認します。B:リソースを待機しているプロセスの数。待機数が多い場合は、I/O またはメモリに問題がある可能性があります交換先:メモリスワップ領域のメモリサイズ[KB単位]に切り替えます現在の空き物理メモリの量[KB単位]si:ディスクからメモリへの転送 #########それで:### メモリからディスクへの転送bi:ブロックデバイスから読み取られたデータの総量ボ:ブロックデバイスに書き込まれるデータの総量バイボ1000 1000を超える場合は、ハードディスクの読み書き速度に問題があることを意味します特定の時間間隔内で観測された 1 秒あたりのデバイス割り込みの数 [割り込みが多すぎるとパフォーマンスに悪影響を及ぼします]cs:この列は、1 秒あたりに生成されるコンテキスト スイッチの数を示します。 米国sy > 80% #########私たち:###
R: 运行和等待CPU时间片的进程数。この数値が長時間 CPU を上回っている場合は、CPU が不足していることを意味します。
#########無料:###
#########で:###
は CPU リソースが不足していることを意味します ユーザープロセスによって消費されたCPU時間の割合
sy: カーネルプロセスによって消費されたCPU時間の割合
id: CPU がアイドル状態である時間の割合
わ: IO の待機に費やした時間の割合
runq-sz: メモリ内で実行できるプロセスの数
plist-sz: システム内のアクティブなタスクの数

显示详细信息

4,sar检测CPU资源:

任务计划 /etc/cron.d/sysstat
日志目录 /var/log/sa
查看方法 Sar –q –f /var/log/sa/sa10
Linux システムにおける 12 のパフォーマンス チューニング コマンドを確認します。

5,lscpu显示CPU信息:

dmesg 显示出开机启动的信息
 lscpu 显示CPU信息
 lscpu -p 显示CPU对应的节点数
getconf LONG_BIT 获知主机的位数
 getconf -a 查看全部的参数
 /sys/class/dmi/id 可以查看Bios的信息 bios_*

6,strace显示程序的调用:

strace –fc elinks –dump http://localhost

7,调优硬盘优先写入/读取数据用:

Linux システムにおける 12 のパフォーマンス チューニング コマンドを確認します。
预先读取需要写入的量,然后再处理写请求,↑读到的值将会是设置值的一半↑。
设置读取到缓存中的数值越大.写入时就会因为数据量大而速度变慢。

/sys/block/sda/queue/nr_requests 队列长度越大,硬盘IO速度会提升,但占用内存
/sys/block/sda/queue/scheduler 调度算法Noop、anticipatory、deadline、[cfq]

8,将Ext3文件系统的日志功能独立:

1、创建200M的/dev/sdb1 格式化为ext3
2、dumpe2fs /dev/sdb1查看文件系统功能中包含的has_journal
3、Tune2fs –O ^has_journal /dev/sdb1 去掉默认原有的日志功能
4、再分一个200M的分区./dev/sdb2. 日志卷的block必须等于 /dev/sdb1
Mke2fs –O journal_dev –b 1024 /dev/sdb2
5、将/dev/sdb2作为/dev/sdb1的日志卷.
Tune2fs –j –J device=/dev/sdb2 /dev/sdb1

9,关闭记录文件系统atime:

对于网站文件,频繁的修改atime是没有意义的,会影响性能
mount –o remount,noatime DEVICE 即可

10、修改文件日志的提交时间:

默认是5秒提交一次日志,修改更长时间可以提高性能,但容易丢失数据。
mount –o remount,commit=15 DEVICE

11,RAID轮循写入调优,适用于0/5/6:

chunk size.轮循一次写入的字节.默认是64K,只要没有写满,就不会移动到下一个设备

设置在每个硬盘都只写一个文件就切换到下一块硬盘,那么如果都是1K的小文件,就会将系统资源浪费在切换硬盘上

如果将chunk size的值设置很大,比如100M,那么也就没有了意义,还不如用一块硬盘。

Stripe size.条带大小,并不是有数据就写入,而是设置每次写入的数据量,一般是16K写一次。

所以.Chunk size(64K)/stripe size(16K),也就是说每块硬盘写四次。

————————————算当前应该把chunk size调成多少————————————

使用iostat –x查看自开机以来每秒的平均请求数avgrq-sz
chunk size = 每秒请求数*512/1024/磁盘数,取一个最紧接2倍数的整数
stride = chunk size /block(默认是4k)

创建raid并设置chunk sinze
mdadm –C /dev/md0 –l 0 –n3 –chunk=8 /dev/sdb[123] 修改raid
mke2fs –j –b 4096 –E stride=2 /dev/md0

12,硬盘的block保留数:

 dumpe2fs /dev/sda1
 tune2fs –m 10 /dev/sda1 保留block百分比
 tune2fs –r 保留block数
 保留的block过少,影响性能,保留的过多又浪费硬盘,默认是5%

学习了上面的性能调优命令和方法后,再总结几条调优的金句:

独立设备性能速度比集成的强,因为不占用主机整体资源
工程师一般不会远程管理计算机,需要提供日志等信息
硬盘空间越大,读取的速度越慢,可以考虑用多块硬盘组成一块较大空间
分区只是在硬盘上做标识,而不像格式化在做文件系统特性,所以速度快
硬盘越靠外侧速度越快[分区号越小越靠外区,所以将数据量大的首先分区].
程序开发者注重雇主的功能要求,系统管理员注重程序的资源开销

以上がLinux システムにおける 12 のパフォーマンス チューニング コマンドを確認します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlxlinux.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。