2009-10-31 8 views
10

Le Performance Règle d'or de Yahoo's performance best practices est:Simuler temps d'attente lors de l'élaboration sur un serveur web local

80-90% du temps de réponse utilisateur final est passé télécharger tous les composants de la page: images, , scripts, feuilles de style flash, etc.

Cela signifie que lorsque je développe sur mon serveur web local, il est difficile d'avoir une idée précise de ce que l'utilisateur final l'expérience.

Comment puis-je simuler la latence afin de comprendre comment mon application fonctionnera lorsque je l'ai déployée sur le Web?

Je développe principalement sur Windows, mais je serais également intéressé par des solutions pour d'autres plateformes.

+0

Similaire à la question http://stackoverflow.com/questions/473465/firefox-plugin-to-simulate-slow-internet-connection-or-limit-bandwidth – Egon

+0

@Egon, le lien est rompu. – kokbira

Répondre

7

Fiddler2 peut facilement do this De plus, il en fait beaucoup plus utile pour le développement.

1

Vous pouvez simplement configurer un proxy à l'extérieur pour acheminer le trafic de votre serveur Web vers celui-ci, puis revenir au navigateur local. Ce serait très réaliste (bien sûr, cela dépend où vous placez le proxy).

Sinon, vous pouvez trouver de nombreuses façons de mettre en œuvre dans le logiciel ..

2

YSlow pourrait vous aider. YSlow analyse des pages Web basées sur les règles de Yahoo!

Firefox Throttle. Cela peut accélérer la vitesse (Windows uniquement).

Ce sont des plugins pour Firefox.

7

Un laser modem pointé à mirrors on the moon devrait donner une latence qui est hors de ce monde.

+0

... mais vous obtiendrez une réduction de la performance pendant les conditions météorologiques, de sorte que les tests seraient incohérents. – Kieveli

1

Exécutez le serveur Web sur une machine Linux voisine et configurez NetEm pour ajouter de la latence aux paquets quittant l'interface appropriée.

Si votre serveur Web ne peut pas fonctionner sous Linux, configurer la boîte Linux comme un routeur entre votre machine de test client et votre serveur Web, puis utilisez netem de toute façon

0

Bien qu'il existe de nombreuses façons de simuler la latence, y compris certains très bonnes solutions matérielles, l'un des plus faciles pour moi est d'exécuter un proxy TCP dans un endroit distant. Le proxy écoute, puis dirige le trafic vers ma destination finale. Sur un serveur distant, j'exécute un programme unix appelé balance. Je signale ensuite cela à mon serveur local.

0

Si vous avez besoin de simuler pour une seule demande de serveur, un moyen simple consiste simplement à mettre le serveur en veille() une seconde avant de revenir.