[Guida] Sysadmin GNU/Linux : cos’è l’I/O scheduler
Questa mini guida può essere considerata come un continuo dell’articolo sull’input output monitoring. L’amministratore di sistema, infatti, dopo aver monitorato le attività di I/O, deve ottimizzare il sistema. A questo scopo vi parlerò dell’I/O scheduler.
I/O Scheduler: un mondo di algoritmi
Lo scheduling delle attività di input output è il metodo di decisione dell’ordine con cui inviare ai volumi le request di I/O. Questo genere di decisioni, ovviamente, è preso tramite un complesso algoritmo. Semplificando, va scelto lo scheduler che più si adatta ai nostri bisogni, dato una sistema di vincoli spesso in conflitto tra loro. A titolo esemplificativo, uno scheduler deve:
- Tener conto della posizione fisica sul disco della testina;
- Organizzare le request per gruppi contigui;
- Dare priorità alle operazioni di lettura;
- Garantire equità tra tutte le request;
- Minimizzare il seek time.
La scelta dello scheduler, quindi, dipende dall’hardware e dai compiti specifici cui è dedicata la macchina. Un server utilizzato come database ed un computer desktop, ad esempio, hanno differenti esigenze. Se si vuole scoprire quale algoritmo è in uso, nell’esempio per un SSD denominato sda, basta utilizzare questa direttiva:
cat /sys/block/sda/queue/scheduler
Quali sono i margini di manovra per un sysadmin
Come si può notare dall’immagine che vi ho riportato, questa macchina utilizza, per sda, lo scheduler bfq. Una descrizione di questo particolare algoritmo, la potete trovare qui. Per modificare l’algoritmo utilizzato su questo specifico dispositivo, ad esempio con mq-deadline, l’istruzione da utilizzare è:
echo "mq-deadline" | sudo tee /sys/block/sda/queue/scheduler
I parametri configurabili dal sysadmin, possono essere trovati nella cartella /sys/block/sda/queue/iosched. Ad esempio fifo_expire_sync indica il valore, in millisecondi, del timeout relativo alle request di tipo sincrono. Fifo_expire_async, parallelamente, quelle di tipo asincrono.
Se volete approfondire l’argomento, un buon punto di partenza potrebbe essere questa pagina della wiki di Ubuntu.
Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.
Fonte: https://www.lffl.org/2020/08/sysadmin-io-scheduler-choice.html
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!
Hai dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.