iops 소개
iops는 주로 데이터에 사용되는 지표로, iops는 읽기 및 쓰기(I/O)를 의미합니다. ) 작업 횟수는 주로 랜덤 액세스 성능에 따라 달라집니다. 일반적으로 IOPS를 높이려면 디스크 어레이에 의존해야 합니다. 실제 온라인 데이터베이스는 Raid10으로 구성되어 있으므로 실제 환경에서는 이를 견딜 수 없습니다. 물론 구체적인 비즈니스 압박도 확인해야 합니다. 실제 머신을 사용하는 경우 클라우드가 실제로 어느 정도까지 도달할 수 있는지 확인해야 합니다. 비즈니스 상황에 따라 IOPS를 선택하세요. 기본적으로 필요에 따라 수정할 수 있는 매개변수입니다. 물론 값이 클수록 비용도 높아집니다.
Python은 시스템 IOPS를 얻습니다. 코드는 다음과 같습니다:
#!/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 중국어 웹사이트를 주목하세요!