Disk_Benchmark_No_Dependency/README.md
2025-04-17 13:31:59 +02:00

100 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Benchmark Disque (sans dépendances)
Petit script bash minimaliste pour effectuer un benchmark disque **grossier mais utile**, sans rien installer, idéal pour des systèmes **sensibles** ou autres serveurs **limités**.
100% POSIX compatible !
---
## Fonctionnalités
- Écriture/lecture séquentielle avec `dd`
- Test d'IOPS sur petits fichiers (`fixed` ou `random`)
- Calculs **approximatifs** de :
- Débits en **MB/s**
- **IOPS** en création/lecture de fichiers
- Aucune dépendance externe
- Auto-nettoyage à la fin du test
- Support des **paramètres CLI** (`--help` dispo)
---
## Utilisation
### Lancer le benchmark avec les paramètres par défaut :
```bash
./benchmark_disque.sh
```
### Options disponibles :
| Option | Description | Par défaut |
|-----------------|---------------------------------------------------------------|----------------|
| `--size=X` | Taille du fichier pour `dd` (ex: `1G`, `512M`) | `1G` |
| `--count=N` | Nombre de petits fichiers à générer | `1000` |
| `--mode=TYPE` | `fixed` (nb lignes défini) ou `random` (fichiers 128-4096o) | `fixed` |
| `--lines=N` | Nombre de lignes par fichier (mode `fixed` uniquement) | `1` |
| `--flush-cache` | forcer la purge du cache (nécessite sudo/root) | désactivé |
| `--random-write`| remplacer `/dev/zero` par `/dev/urandom` | désactivé |
| `--help` | Affiche le message daide | |
---
## Exemples
```bash
# Benchmark basique
./benchmark_disque.sh
# Test avec un fichier de 2G et 5000 petits fichiers aléatoires
./benchmark_disque.sh --size=2G --count=5000 --mode=random
# Test avec fichiers de 10 lignes
./benchmark_disque.sh --mode=fixed --lines=10
```
---
## Exemple de sortie
```
=== Test d'écriture séquentielle avec dd (1G, sync forcée) ===
Durée : 0m2.123s (~471.20 MB/s)
=== Test de lecture séquentielle ===
Durée : 0m1.834s (~544.96 MB/s)
=== Test IOPS sur 1000 fichiers (random) ===
Création : 0m3.456s (~289.3 IOPS)
Lecture : 0m2.823s (~354.3 IOPS)
Nettoyage...
Benchmark terminé.
```
---
## Remarques
- Le test est **destructif** : tout est stocké temporairement dans `./testbench`, puis supprimé.
- Pour conserver les résultats : ajoute une redirection `>> benchmark.log`.
---
## Badge & Logo
![Badge Forgejo](https://img.shields.io/badge/forge-la--forge--du--sel-blueviolet?style=for-the-badge&logo=forgejo)
![Logo](https://forge.salt8.org/Ripley/Disk_Benchmark_No_Dependency/raw/branch/main/benchmark_disque.png)
---
## License
Ce script est fourni librement, sans garantie. Utilisation encouragée, surtout sur **La Forge du Sel**.
---
**Auteur** : Ripley
**Forge** : https://forge.salt8.org
**Slogan** : *"Dans le Sel, la Puissance."*