Clarifier les connexions Firebase
Je suis un peu confus au sujet du modèle de tarification Firebase, une préoccupation particulière est les connexions ou plus précisément les connexions simultanées.
Prenons un exemple d'application mobile pour iOS appelée FanZONE:
L'utilisateur va créer des groupes pendant les matchs de football. Ils feront des commentaires sur le jeu réel et les commentaires sont immédiatement affichés sur l'écran de chaque membre.
Ce scénario signifie-t-il que chaque utilisateur participant aux commentaires / visionnements compte pour une connexion?
Donc, si un groupe contient 100 utilisateurs qui suivent activement l'écran et de temps en temps commenter y at-il 100 connexions chaque 90 minutes?
Quid des utilisateurs qui disposent de l'application en arrière-plan et l'application vérifie toutes les 5 minutes le score. Cette connexion est-elle aussi longue de 90 minutes ou seulement une fraction de temps Toutes les 5 minutes?
2 réponses
Dans votre premier scénario - la réponse courte est oui. Tant que vos utilisateurs gardent l'écran où vous avez une connexion Firebase qui leur permet de commenter / lire des commentaires-vous aurez une connexion simultanée par écran.
Dans le deuxième scénario - cela dépend de la façon dont vous développez votre application. L'API Firebase vous fournit les méthodes goOffline et goOnline ( https://www.firebase.com/docs/ios-api/Classes/Firebase.html#class_methods ) qui vous donner le contrôle de votre connexion. Si vous voulez aller hors ligne pendant 5 minutes, puis revenir brièvement en ligne pour vérifier les scores, puis aller hors ligne à nouveau, alors vous ne tenir une connexion pour une courte durée.
Les connexions simultanées sont juste cela-les connexions établies en même temps. Donc, si vous avez 3 personnes utilisant votre application pour vérifier les scores, mais que l'application de l'utilisateur 1 est en ligne à 12h00 et que la connexion dure 5 secondes, l'application de l'utilisateur 2 est en ligne à 12h01 pendant 5 secondes, et l'application de l'utilisateur 3 est en ligne à 12h02 pendant 5 secondes, alors vous n'avez jamais eu 1 connexion simultanée.
Si d'un autre côté, les 3 applications des utilisateurs vont en ligne à 12h00 pendant 5 secondes, vous aurez 3 connexions simultanées.
Vous pourriez potentiellement utiliser cette même stratégie goOffline/goOnline avec votre premier scénario, mais cela peut nuire à l'expérience si vos utilisateurs s'attendent à discuter d'un jeu en temps quasi réel.
En plus de L'excellente réponse de Mike P, Voici quelques autres discussions sur le même sujet qui peuvent s'avérer perspicaces.
À partir de la page de tarification Firebase :
Qu'est Ce qu'une Connexion?
Une connexion est une connexion réseau ouverte à nos serveurs. C'est un mesure du nombre d'utilisateurs qui utilisent votre application ou de votre site simultanément. Ce n'est pas la même chose que (et est généralement beaucoup plus faible que) le nombre total de visiteurs sur votre site le nombre total de utilisateurs de votre application. Selon notre expérience, 1 concurrent correspond à environ 1 400 visites mensuelles.
Notre Firebase de développement a une limite stricte sur le nombre de connexions permettre. Toutes les bases de feu payées, cependant, sont "burstable", qui signifie que l'utilisation n'est pas plafonnée et que vous êtes facturé pour tout dépassement. Nous mesurons les connexions pour les régimes payés en fonction du 95e percentile de utilisation au cours du mois.
De cette liste de diffusion discussion , par Andrew Lee (fondateur de Firebase):
Je vous recommande fortement de ne pas vous inquiéter à moins que vous ne soyez réellement cogner contre nos limites...la plupart des développeurs surestiment considérablement le nombre de utilisateurs simultanés qu'ils auront. Une bonne règle de base est 1 concurrent = 1000 visites mensuelles pour le site typique. Pour mobile, le rapport entre les installations et les concurrents est parfois encore plus élevé (bien qu'il varie considérablement en fonction de votre cas d'utilisation). Nos plans sont assez généreux lorsqu'il s'agit d'utilisateurs simultanés. Comme un point de données -- notre propre le site Web pourrait fonctionner confortablement sur le plan Firebase "gratuit" le plus jour. En fait, plus de 99,5% de toutes les bases de feu n'ont jamais atteint les 50 simultanées limite.
Donc, pour faire court, si vous travaillez sur un projet de passe-temps, vous presque certainement pas atteint notre niveau libre 50-limite simultanée. Si vous êtes une entreprise ou une application plus grande, j'espère que vous trouverez notre plan de 49 $ / mois plus coût-efficace que passer du temps d'ingénierie pour comprendre quand pour goOnline / goOffline pour minimiser ce nombre.
Au très haut de gamme (énormes applications D'entreprise avec 10k+ concurrents) nous offrez des prix personnalisés qui ont un taux par concurrent inférieur.
Un benchmarking utilisateur et des tests de connexions ici sur SO: comment la connexion est calculée dans Firebase
Une autre question similaire ici sur SO: Comment les connexions simultanées sont-elles calculées