2016-12-21 3 views
2

ich eine Testinfrastruktur mit Azure & Docker Einrichten - Selenium HUB und Chrome Bilder die neueste Version von Ubuntu auf AZUREDocker-Selen Maximale Anzahl von Chrom Container

Lauf

Systemkonfiguration

Ubuntu: 16 * Docker: Neueste Version RAM: 6GB SSD: 120 GB

Kann Automatisierungsskript in den Chrome-Containern problemlos ausführen, wenn die Anzahl der Container < = 10 ist.

Wenn ich die Zahlen hochskaliere, friert das gesamte System ein und reagiert nicht und die Tests laufen nicht.

PS: Ich montiere auch /dev/shm:/dev/shm beim Erstellen der Container.

Was sollte die optimale Systemkonfiguration sein, um mindestens 75 Container zu betreiben?

+0

75 Container parallel? Ich bin der Autor von Elgalu/Docker-Selen und Co-Autor für https://github.com/zalando/zalenium, so habe ich einige Erfahrung mit den Werkzeugen und ich kann Ihnen versichern, es macht total Sinn, dass die Maschine kann ' Diego und ich werden nächstes Jahr wahrscheinlich an horizontaler Skalierbarkeit arbeiten, aber im Moment können Sie nur vertikal skalieren und die Instanzgröße an Ihre aktuelle Belastung anpassen. Ich würde die Last in separaten Gittern auf separaten Maschinen verteilen, anstatt zu versuchen, sie alle 75 zur gleichen Zeit auf der gleichen Instanz zu betreiben, wenn möglich. –

+1

@LeoGallucci Ja, 75 Container parallel. Ich dachte, parallel mehr Container auf einer einzigen Maschine laufen zu lassen, würde meine Test-Infrastrukturkosten reduzieren. Vielleicht war ich zu ehrgeizig :) Ich werde den von dir erwähnten Ansatz versuchen. – Barney

Antwort

0

6 GB RAM für 75 Container bedeutet ~ 80 MB/Container. Auch das möchtest du ein firefox/chrome innen laufen lassen? Das kann kopflos/ohne Display sein, aber das bedeutet nicht, dass sie nicht speicherhungrig sind.

Sie müssten 500 MB Speicher/Container für solche Knoten parken. Sie können ein Speicherlimit setzen, aber sobald Ihr Container darüber hinausgeht, puh !!!. Der Container ist tot und das gilt auch für Ihren Browser und Ihren Test. Am besten ist es, entweder Docker Swarm zu verwenden, um ein selbstheilendes Selen Grid

zu implementieren Oder Sie können https://github.com/zalando/zalenium wie von @ Leo Galluci erwähnt verwenden.

PS: Ich schrieb einen Artikel über die Einrichtung von Grid auf Schwarm http://tarunlalwani.com/post/deploy-selenium-grid-using-docker-swarm-aws/. Sie können einen Blick auf das gleiche werfen, um eine Idee an der horizontalen Skalierung Ihres Gitters zu bekommen.

Verwandte Themen