2009-01-23 5 views
1

Notre build automatisé actuel se compose de 1 boîte principale et de 4 boîtes à pizza Core-2-Duo (à environ 2,5 GHz), avec 3 Go de mémoire chacune, toutes fonctionnant sous Ubuntu Linux. (En utilisant bamboo)Reconstruire la construction automatique de boîtes à pizza de 2 cpu en monstre (s) multi-cpu (s)?

On m'a demandé de recalibrer ceci pour l'exécution sur une ou plusieurs boîtes Solaris. Notre build actuel consiste en un mélange de builds java, de builds de tests d'intégration à long terme et de tests Selenium automatisés - une construction de projet de grande envergure assez typique. Notre environnement actuel a une capacité suffisante, et nous pourrions probablement perdre un noyau sans problème.

Nous sommes à la recherche de 8 machines Solaris CPU avec "grandes" quantités de mémoire (16-32 Go? Je peux choisir). Ou peut-être plusieurs machines à 4 processeurs? Puis-je m'attendre à ce que le comportement évolue de manière assez linéaire dans une seule boîte? Je cherche des expériences réelles ici; Les observations «théoriques» sur la façon dont les IO peuvent devenir un problème ne sont pas très intéressantes.

+0

Quelles sont les statistiques de votre processus de construction actuel? – BobbyShaftoe

+0

La génération de sélénium utilise 70 à 100% des deux cœurs du système actuel. Les tests d'intégration utilisent peu de cpu, tandis que la version de test unitaire standard utilise généralement la plupart des cœurs. Toutes les autres statistiques que je peux fournir? – krosenvold

+0

Je viens d'ajouter une étiquette de bambou puisque c'est ce que vous utilisez, et cela peut être utile pour les chercheurs. – Chii

Répondre

1

En fait, je trouve que les builds passent le plus clair de leur temps à faire des IO. Donc, augmenter le nombre de processeurs n'aide pas autant que vous ne le pensez. Cependant, des machines supplémentaires auront des disques supplémentaires et de la bande passante réseau. Donc, ils peuvent aider plus. Cependant, vous pouvez améliorer la configuration d'une seule boîte et éventuellement obtenir les mêmes performances.

Combien de builds vous exécutez-vous en même temps? Si vous avez généralement 2 builds en file d'attente maintenant (et 2 en cours d'exécution), avoir quatre builds en même temps est une amélioration. Mais plus que cela ne va pas faire beaucoup de différence. Huit machines de base avec 64 Go de mémoire sont étonnamment standard pour un nouveau serveur ces jours-ci. Dans cette configuration, je suggèrerais d'obtenir un disque SSD pour améliorer les temps d'accès au disque et exécuter de quatre à huit builders/agents, ce qui pourrait suffire si vous avez généralement huit builds en attente à tout moment ou moins.

+0

Lorsque la construction est active, il y a presque toujours 4 builds en cours (nous avons actuellement un maximum de 4 builds parallèles - nous avons pensé que les boîtes à pizza ne sont bonnes que pour une seule build à la fois). Il y en a généralement quelques-uns dans la file d'attente aussi. Les builds de sélénium aspirent un peu plus de CPU que les builds moyens. – krosenvold

+0

Donc, toute capacité supplémentaire que nous obtenons nous habituellement mangeons juste en ajoutant un autre navigateur aux tests de sélénium;) Donc il y a en fait un argument pour un kick-ass 8 cpu aussi bien. Avec 64 Go, les agents peuvent simplement exécuter toute la structure de construction à partir d'un disque virtuel ou similaire.Merci pour une bonne réponse. – krosenvold

0

Si vos tests sont longs, vous pouvez bénéficier de deux versions, d'une version rapide qui exécute tous les tests rapides et d'une version complète plus lente qui peut être exécutée uniquement la nuit.

+0

Nous le faisons déjà. Mais il y a une bonne économie dans l'exécution de tous les tests tout le temps. * Tout * commence le crochet de validation. Nous avons aussi des trucs nocturnes ... – krosenvold

Questions connexes