2009-11-08 1 views
1

est-il vrai qu'il est préférable d'exécuter plusieurs instances de scripts ruby ​​que de faire plusieurs threads pour ruby ​​< 1.9? Je voudrais des outils ou des approches pour mesurer combien bande passante, cpu, la mémoire est utilisée par chaque instance de script ruby ​​(par exemple un web araignée).tester pour voir combien d'instances de script ruby ​​je peux exécuter

Le but ici est d'essayer de voir le nombre maximum de scripts ruby ​​qui peuvent fonctionner sur mon serveur web ubuntu. Plusieurs utilisateurs exécuteront le script.

fondamentalement j'ai une application qui peut lancer plusieurs instances de script ruby. plusieurs utilisateurs utilisent cette application. donc j'ai besoin de comprendre un seuil.

Répondre

1

Il est bon d'utiliser le forking si vous utilisez Unix. Comme un avantage supplémentaire le système d'exploitation paralellera les processus Ruby séparés pour vous et vous n'avez pas à penser à l'utilisation de la mémoire (parce que chaque fourchette de travail sera tué après qu'il se termine). Pour évaluer les exigences faites un test de fumée (combien d'instances vous pouvez démarrer en état actif en même temps). En termes de RAM, le besoin par travailleur sera égal au poids de votre environnement d'application ou, si vous utilisez REE avec des correctifs de copie sur écriture, sensiblement moins (puisque les travailleurs utiliseront l'environnement de base du processus parent).

Les threads sont interdits si vous voulez une fiabilité quelconque. Les "outils-approches" sont benchmark.rb.

Questions connexes