Les meilleures pratiques pour le web service de délais d'attente
Là tout l'article/livre qui définit des limites supérieures limites de conception de WS délais d'attente? Avez-vous timeout au niveau du serveur ou de recommander au client spécifique délais d'attente trop?
Commun de meilleures pratiques comme "jamais de la conception WS qui peut prendre plus de 60 secondes, l'utilisation asynchrone jeton de modèle"
Je suis intéressé de savoir ce que vous faites ou votre avis.
OriginalL'auteur MMind | 2008-11-05
Vous devez vous connecter pour publier un commentaire.
Cette question, et ceux liés à la dans les réponses, qui pourraient vous aider:
Est-il un standard de l'industrie, de l'inacceptable, webapp temps de réponse?
Un peu tangentielle à votre question (pas d'intervalles de temps, désolé), mais je soupçonne utile pour votre travail:
Une approche commune des délais d'attente est de les concilier avec le "recul" timers.
Il va quelque chose comme ceci:
La première fois, un service en temps, ne vous inquiétez pas à ce sujet.
La deuxième fois consécutive, un service à la fois, n'est pas la peine de l'appeler pour les N secondes.
La troisième fois consécutive, un service en temps, ne pas l'appeler pour N+1 secondes.
Alors N+2, N+3, N+5, N+8, etc, jusqu'à ce que vous atteindre une certaine limite maximale de M.
Le délai d'attente compteur est remis à zéro lorsque vous obtenez une réponse valide.
Je suis l'aide d'une séquence de Fibbonacci à augmenter le "recul" période de temps ici, mais bien sûr, vous pouvez utiliser toute autre fonction appropriée -- le point de l'être, si le service que vous essayez garde timing, vous, vous "croyance" prennent de plus en plus petites, de sorte que vous passer de moins en moins de ressources à essayer de l'obtenir, et de frapper à la porte plus rarement. Cela pourrait aider le service à l'autre extrémité, ce qui pourrait simplement être surchargé et re-demandant à fait juste empirer les choses, et il permettra d'augmenter votre temps de réponse, car vous n'aurez pas à attendre pour un service qui est peu probable à répondre.
Il est également fréquent pour ajouter un montant aléatoire à chaque nouvelle tentative après la première, afin que le service est de ne pas se faire détruire par tout réessayer exactement au même moment.
OriginalL'auteur SquareCog
Ce genre de choses à propos de 30+ deuxième délais d'attente est ridicule conseils, de l'OMI. Vos délais d'attente devrait être d'environ 3 secondes. Oui. Trois. Le nombre après deux et avant quatre. Si vous êtes à la construction d'une application basée sur une architecture SOA, puis DÉFINITIVEMENT en 3 secondes, ou moins.
Penser... l'utilisateur de votre application s'attend à un TOTAL de temps de réponse d'environ cinq secondes ou moins (de préférence sur trois). Si CHAQUE APPEL de SERVICE est prise de plus d'un couple de* millisecondes* pour revenir, vous êtes arrosé. En attente de 30 secondes pour UN service de retour est une éternité. L'utilisateur ne sera jamais attendre que long. De Plus, si vous savez qu'ils sont censés retourner dans la sous-une seconde gamme, ce qui est le point d'attente pour un autre 30 secondes ou plus pour signaler une condition d'erreur; il ne va pas magiquement de travail, où, quand il n'a pas 28 secondes plus tôt. Si votre application a des fluctuations dans le temps de réponse moyen de la sous-une seconde à plus de 30 secondes, quelque chose a été conçu de manière incorrecte. Vous pourriez réfléchir à la mise en cache ou quelque chose.
Intéressant, @Robert comment venez-vous à ce numéro: 3 secondes?
Ce conseil semble facétieux. Bien sûr, les utilisateurs s'attendent à une réponse rapide, mais est une erreur de retour dans 3 secondes vraiment mieux que d'obtenir une réponse valable en 20 secondes? Conception pour une réponse rapide, et le choix d'un client délai d'attente ne sont pas la même chose.
Obtenir une réponse valide dans les 20 secondes n'est pas utile parce que l'utilisateur est déjà pris. Voir Amazon dans ce domaine RE: combien de temps les utilisateurs d'attendre de l'INTERFACE utilisateur pour le rendu.
Je pense que nous convenons tous que des réponses rapides sont privilégiées et le système devrait être conçu de manière à produire des données plus rapidement, mais je suis d'accord avec Nick raisonnement. En tant qu'utilisateur, je serais heureux de recevoir une réponse mieux vaut tard que jamais.
OriginalL'auteur Robert C. Barth
De prendre la quantité de données à transférer par l'intermédiaire de votre service web pour voir combien de temps prend le processus.
Ajouter 60 secondes pour que le nombre et le test.
Si vous pouvez l'obtenir en attente sur une bonne connexion, puis ajouter 30 secondes de plus.
rincer et répéter.
OriginalL'auteur branchgabriel
Nous prennent généralement la réponse attendue de temps pour que le web service (tel que documenté dans notre spécification de l'interface) et ajouter 30 secondes.
Puis nous de surveiller les logs lors de l'UAT pour voir s'il y a des modèles (p. ex. les DB appels de prendre beaucoup de temps) et de modifier comme il convient.
OriginalL'auteur nzpcmad