ホームページ >バックエンド開発 >Python チュートリアル >Python でシステム IOPS を取得する方法
iopsの概要
iopsは主にデータで使用され、データベースのパフォーマンス評価の重要な基準であり、主にパフォーマンスに依存します。一般に、IOPS を向上させるには、実際のオンライン データベースは RAID 10 で構成されます。もちろん、RAID 5 は、実際の運用環境の負荷に耐えることができません。 RDS クラウド データベースを使用する場合、これは基本的にパラメータであり、次のように変更できます。もちろん、値が大きいほどコストが高くなります
システム IOPS を取得するための Python のコードは次のとおりです:
#!/usr/bin/python import os, time, math run_tests = 3 devices = os.listdir('/sys/block/') check_devices = [] reads = {} writes = {} for dev in devices: if dev.startswith('md') or dev.startswith('sd') or dev.startswith('hd'): check_devices.append(dev) reads[dev] = [] writes[dev] = [] check_devices = sorted(check_devices) for t in range(run_tests + 1): for dev in check_devices: file_data = open('/sys/block/%s/stat' % dev).readline().strip().split(' ') clean = [] for num in file_data: if num != '': clean.append(int(num)) reads[dev].append(clean[0]) writes[dev].append(clean[4]) print reads[dev] print writes[dev] time.sleep(1) print "Device Read Write" print "--------------------------------------" for dev in check_devices: clean_reads = [] reads[dev].reverse() for test, result in enumerate(reads[dev]): if test > 0: clean_reads.append(float(reads[dev][test - 1] - result)) rops = int(math.ceil(sum(clean_reads) / len(clean_reads))) clean_writes = [] writes[dev].reverse() for test, result in enumerate(writes[dev]): if test > 0: clean_writes.append(float(writes[dev][test - 1] - result)) wops = int(math.ceil(sum(clean_writes) / len(clean_writes))) print "%s %s %s" % (dev.ljust(13), repr(rops).ljust(11), repr(wops))
概要
上記はシステム IOPS を取得するための Python の全内容をこの記事が皆さんに役立つことを願っています。Python の学習と使用はある程度役に立ちます。質問がある場合は、メッセージを残して連絡してください。
Python でシステム IOPS を取得する方法に関するその他の記事については、PHP 中国語 Web サイトに注目してください。