12 votes

Quel est le système de fichiers le plus rapide pour les constructions de développeurs ?

Je suis en train de mettre en place une boîte Linux qui servira de serveur de construction pour l'intégration continue ; nous construirons surtout des choses en Java, mais je pense que cette question s'applique à tout langage compilé.

Quel système de fichiers et quels paramètres de configuration dois-je utiliser ? (Par exemple, je sais que je n'aurai pas besoin d'atime pour cela !) Le serveur de compilation passera beaucoup de temps à lire et écrire de petits fichiers, et à scanner les répertoires pour voir quels fichiers ont été modifiés.

MISE À JOUR : L'intégrité des données n'est pas une priorité dans ce cas ; il s'agit juste d'une machine de construction ... les artefacts finaux seront zippés et archivés ailleurs. Si le système de fichiers sur la machine de construction est corrompu et perd toutes les données, nous pouvons simplement effacer et réimager ; les constructions continueront à fonctionner comme avant.

0 votes

Un doublon possible ? serverfault.com/questions/29193/

0 votes

Lisez le lien que gravyface a donné, mais assurez-vous aussi de mettre de côté la partition dans laquelle vous allez faire vos constructions, vous pouvez ensuite tester les réponses que vous obtenez ici. Si vous avez l'argent, voyez si vous pouvez renoncer à utiliser des disques (en utilisant un ramdisk ou tmpfs). cyberciti.biz/faq/howto-create-linux-ram-disk-filesystem )

0voto

sysadmin1138 Points 129885

Les opérations que vous décrivez donnent quelques indications clés sur ce que le système de fichiers idéal doit être capable de faire :

  • Accès massivement aléatoires aux données pendant le processus de construction.
  • De très nombreux fichiers étant mis à jour rapidement, la rapidité des opérations sur les méta-données est essentielle.
  • Traitement efficace de nombreux petits fichiers sur des systèmes de fichiers éventuellement très lourds.
  • Suffisamment mature pour ne pas risquer de perdre des données dans des cas limites peu fréquents et obscurs.

Btrfs et Ext4 sont trois d'entre elles, et la quatrième est discutable. Ext4 est probablement assez mature pour cela, mais btrfs n'a pas encore fini de cuire. noatime contribue à rendre les opérations de méta-données plus efficaces, mais lorsque vous créez un tas de nouveaux fichiers, vous avez toujours besoin que les opérations de méta-données soient extrêmement rapides.

C'est alors que le stockage sous-jacent commence à devenir un facteur. Les opérations de méta-données de XFS ont tendance à se concentrer dans quelques blocs, ce qui peut peser sur les opérations. Les systèmes de fichiers de style Ext sont plus efficaces pour rapprocher les méta-données des données qu'elles décrivent. Cependant, si votre stockage est suffisamment abstrait (vous êtes exécuté dans un VPS, ou attaché à un SAN), les méta-données sont plus proches des données. cela n'a pas beaucoup d'importance .

Chaque système de fichiers présente de petites améliorations de vitesse qui peuvent être réalisées pour gagner quelques points de pourcentage supplémentaires. La performance du stockage sous-jacent aura un impact important sur le gain que vous obtiendrez.

Dans le langage du stockage, si vous avez suffisamment de frais d'opération d'E/S dans votre stockage, les inefficacités du système de fichiers commencent à ne plus avoir autant d'importance. Si vous utilisez un SSD pour votre partition de construction, le choix du système de fichiers est moins important que ce avec quoi vous êtes le plus à l'aise pour travailler.

0 votes

En fait, je ne me soucie pas tant que ça de la perte de données. (J'ai mis à jour la question pour clarifier.) Je veux dire, la perte de données n'est pas une bonne chose, mais je ne stocke pas de données critiques ; je traite beaucoup de fichiers et déplace les données ailleurs. Si je pouvais me permettre la RAM, j'utiliserais simplement tmpfs comme voretaq7 l'a recommandé ci-dessus.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X