2009-01-31 7 views
1

L'utilisation sera de servir du contenu dynamique à partir de données sur S3. Vous pouvez faire une définition de «normal» que vous pensez normale.Combien d'utilisateurs une instance Amazon EC2 peut-elle servir?

Qu'en est-il des petites, moyennes et grandes instances?

Ok. Les gens veulent des données pour travailler avec, alors ici:

Le webservice est environ 100kb au début, et utilise AJAX, il n'a donc pas besoin de recharger la page entière, voire pas du tout. Quand il charge la page, il enverra entre 20 et 30 demandes à la base de données (S3) pour obtenir de petits morceaux de texte (comme des commentaires). L'utilisateur moyen restera sur la page pendant 10 minutes, ce qui se traduira par environ 100 Ko à l'offset et environ 400 Ko par demande. Supposons que le volume de frappe est le même la nuit et le jour.

+0

c'est beaucoup trop de requêtes db pour un rendu de page. Diminuer cela doit être la priorité si vous voulez que votre site à l'échelle –

Répondre

10

Dépend de quoi et comment vous diffusez le contenu, sans parler de la fréquence à laquelle les utilisateurs y accèderont, de la taille et du type de contenu, etc. Il n'y a essentiellement pas une seule information que vous avez fournie Cela nous permet de répondre à votre question de manière significative.

+0

Eh bien, j'ai dit définir votre propre version de "normal". –

+8

Il n'y a rien de "normal". – ceejayoz

2

On peut affirmer que bien conçu, peu importe le nombre d'utilisateurs qu'une instance peut supporter. Idéalement, lorsque votre instance est saturée, vous lancez une nouvelle instance pour gérer le trafic. De toute évidence, cela complique énormément le déploiement et la conception.

Mais au-delà de cela, une instance EC2 d'une boîte Linux bas de gamme, effectivement (selon le modèle que vous choisissez).

Reformulons la question, combien d'utilisateurs voulez-vous prendre en charge?

2

Comme d'autres l'ont dit, cela peut nécessiter un test dans vos conditions exactes. Heureusement, si vous êtes prêt à aller jusqu'à installer une version de test de votre configuration de serveur, vous pouvez générer des instances qui simulent des utilisateurs. Créez un tas de ces instances de test et lancez l'outil d'analyse comparative AB d'Apache sur elles, en les dirigeant sur votre site de test. Si les instances se trouvent dans la même zone de disponibilité que votre site de test, vous ne serez pas facturé pour la bande passante, juste à l'heure pour les instances en cours d'exécution. Exécutez un test pendant moins d'une heure, en arrêtant les instances de test par la suite, et cela vous coûtera très peu d'organiser ce test de stress. En tant que point de données, exécutant l'outil Apache ab localement sur ma petite instance, qui sert un site Drupal lourd pour la base de données, il indiquait la capacité du serveur à gérer 45 à 60 requêtes par seconde. Je suppose que ab est un outil raisonnable pour l'analyse comparative, et je peux me tromper là-bas, mais c'est ce que je vois. À titre de suggestion, ne connaissant pas trop votre cas particulier, je déplacerais votre base de données vers un volume Elastic Block Store (EBS). S3 n'est pas vraiment destiné à héberger des bases de données, et la latence qu'il a peut tuer vos performances. Les volumes EBS peuvent facilement être sauvegardés sur S3 pour sauvegarde, si c'est ce qui vous inquiète.

Questions connexes