Quelques recherches pour diminuer la consommation électrique d'un serveur

Quelques concepts

Pour mesurer la consommation effective, on peut utiliser un Watt-mètre type "prise".

On peut considérer que chaque Watt coûte 2 CHF annuel. Un serveur est en règle générale, ou du moins en moyenne, sous-utilisé: ce sont donc vraisemblablement les consommations en ruban (minimales, mais permanentes) qui coûtent le plus. Il est donc important de diminuer cette consommation en ruban.

Dans le coût, il faut aussi considérer l'énergie grise (de fabrication des composants p.ex.): changer trop souvent les équipements peut avoir un coût et un impact environnemental grand.

Qu'est-ce qui consomme dans un serveur ?

  • le chipset graphique (intégré ou carte): prendre le moins puissant possible, et configurer au minimum; p.ex. dans mon cas, ne pas utiliser le mode graphique et baisser la fréquence du GPU a permis d'économiser une vingtaine de Watts
  • la RAM: bien dimensionner, mais ne pas sur-dimensionner
  • le CPU: en particulier à haute fréquence: privilégier les modèles à technologie 22 nm (basse consommation) et avec une vitesse réglable automatiquement
  • éventuellement bien dimensionner l'alimentation (PSU): sur ou sous-dimensionnée, elle ne sera pas efficace et pourrait vieillir vite.
  • les équipements en veille (p.ex. écran): éteindre complètement: dans mon cas, j'utilise un vieil écran VGA avec un véritable interrupteur mécanique, consommant 0W quand éteint.
  • le choix de l'OS et des applications

Mes choix

Le système actuel consommant entre 180 et 200 W, y compris carte ISDN, NT2ab ISDN, modem ISDN, disque USB de sauvegarde et grande unité de stockage à 4 disques en RAID10, j'ai pris les premières décisions suivantes:

  • simplifier l'architecture, en supprimant l'ISDN et remplaçant par de l'analogique et un ATA basse consommation
  • prendre une technologie 22 nm pour le processeur, version non overclockable, pour une fois Intel
  • 16 GB de mémoire en 2x8 GB (le système actuel ayant 8 GB, ce qui est un peu court, les simulations ont montré que 16 GB devrait être suffisant)
  • passer de 4 disques de 1 TB en RAID10 (= 2 TB de stockage) à 2 disques de 2 TB en RAID1 (= 2 TB): par test, la performance est proche; il se peut simplement que les sauvegardes ralentissent un peu plus le système.
  • conserver le disque USB et les trois dongles (2 séries, 1 parallèle)
  • prendre un processeur 4 cores (contre 6 précédemment), mais avec support Intel multithread (== 8 processeurs pour GNU/Linux), d'une fréquence légèrement supérieure
  • conserver une bonne ventilation
  • utiliser une alimentation de 500W de bonne qualité (du stock), peut-être légèrement surdimensionnée, mais c'est plus complexe que cela.

Mesures non prises
  • je n'ai finalement pas décidé de passer à 1 (voire 2) ports Ethernet et un switch à VLAN, notamment pour la sécurité. Le système final comprendra, en plus du chip Ethernet GBit/s interne,
une carte GBit/s PCI et une carte dual-port 10/100. Faire ainsi me permet de recycler du stock les cartes et d'éviter l'achat d'un switch à VLAN.
  • pas de remplacement d'un dongle série par le port interne (pas le connecteur)

Le but principal et premières évaluations

Le but principal, qui semble réalisable à première vue, serait une consommation en ruban de la moitié. Actuellement, cette consommation est de 180 W. Il faudrait donc atteindre en ruban 90 W au maximum.

Les premiers essais ont montré les consommations suivantes:

  • sans tâche particulière: 57 W, dont:
    • 40W pour CPU+PSU+MB+RAM+2 disques avec tiroirs (mesuré)
    • 17 W pour: 2 cartes réseaux et 3 ventilateurs du boîtier (estimé)

  • 8 threads/CPU à fond: augmentation de 40 W environ (mesuré)

  • disques à fond: augmentation de 10 W environ (mesuré)

  • maximum de consommation autour de 107 W (mesuré)

En plus, les consommations suivantes doivent être comptées, avec un total en ruban de 37 W:

  • 3 dongles USB: 7 W (estimé)
  • 1 disque USB externe de sauvegarde: 20 W (estimé)
  • 1 ATA SPA3102: 5 W (fabriquant)
  • 1 modem analogique: 5 W (estimé)

En conséquence, on peut supposer qu'en ruban, le système devrait consommer autour de 57 + 37 W = 94 W. Le but devrait être quasiment atteint.

Autres optimisations envisageables
  • modem implémentable par logiciel (iaxmodem)
  • utilisation d'un port série interne plutôt qu'un dongle USB
  • désactivation des fonctions inutilisées dans le BIOS (p.ex. carte son)
  • limitation de la ventilation (par logiciel, ou par arrêt physique)

Description du système en test

composant CHF x sous-total commentaires
CPU i7-3770S 315 1 315 4 cores, 8 threads, 22 nm >= 3 Ghz, Power <= 65 W; Y.c. VGA
RAM Kingston Technology DDR3 1600Mhz 16GB 179.9 1 179.9 16 GB ECC, DDR3-1333/1600, 1.5V CL9
HD Western Digital Black 2 TB 159 2 318 2 x 2 TB R1, Server (RAID Enhanced, Ou NAS)
tiroir/embase avec ventilateur (noir) 0 2 0 du stock
MB Gigabyte H77-DS3H 89.9 1 89.9 ECC, 1 Gbit/s; USB; SATA; 2 PCI, 3 PCIe, ATX 30.5x21.5
eth0 0 1 0 atheros, intégré à la MB
eth1,eth2 0 2 0 2xPCIdu stock
eth3 dual-port 10/100 0 1 0 du stock
alim 250-350W 0 1 0 Corsair CX500 (du stock), Peut-être un peu surdimensionnée, À voir
boîtier sans alim 89 1 89 Fractal Design Core 3000 Computer Case, 2 x 5.25, 3 ventilateurs
TOTAL 991.8

Système d'exploitation standard (Debian GNU/Linux 7.0).

Notons le choix d'un modèle "black" de disque-dur WD, préféré au RE car finalement qu'une différence de firmware ennuyeuse.

Mise en production

Les résultats sont très encourageants:

  • mesure: 70 W au minimum
  • moyenne autour de 75W
  • diminution de la consommation "en bande" d'environ 30-50% (d'après mesures de mon fournisseur électrique).

Pour aller plus loin ...

On peut réfléchir à d'autres pistes:

  • virtualiser et héberger les services (y compris VoIP)
  • changer de technologie CPU vers basse consommation, mais aussi performance bien inférieure, dans notre cas insuffisante

-- MarcSCHAEFER - 24 Nov 2013
Topic revision: r2 - 14 May 2014, MarcSCHAEFER
 

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback