Maison > développement back-end > Tutoriel Python > Comment obtenir des IOPS système en Python

Comment obtenir des IOPS système en Python

高洛峰
Libérer: 2017-02-27 10:04:51
original
1878 Les gens l'ont consulté

Introduction aux iops

iops est principalement utilisé dans les données. Cet indicateur est une référence importante pour l'évaluation des performances des bases de données. par seconde. ) Le nombre d'opérations dépend principalement des performances de l'accès aléatoire. Généralement, pour augmenter les IOPS, il faut s'appuyer sur les bases de données en ligne réelles qui sont essentiellement configurées avec Raid5. environnement de production. Bien sûr, vous devez également vérifier la pression spécifique de l'entreprise. Si vous utilisez une machine physique, vous devez voir combien d'IOPS peuvent atteindre dans la pratique. Si vous utilisez une base de données cloud RDS, vous pouvez le faire. choisissez les IOPS en fonction de la situation de votre entreprise. , il s'agit essentiellement d'un paramètre et peut être modifié selon les besoins. Bien sûr, plus la valeur est grande, plus le coût est élevé

Python obtient le système. Code iops comme suit :

#!/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))
Copier après la connexion

Résumé

Ce qui précède concerne l'obtention d'IOPS système par Python, j'espère que cet article sera utile à tout le monde dans l'apprentissage et l'utilisation de Python. Si vous avez des questions, vous pouvez laisser un message pour communiquer.

Pour plus d'articles sur la façon d'obtenir des iops système en Python, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal