J'écris du code sur un périphérique mobile utilisant un service de repos pour récupérer des données d'un hôte. Ce service de repos est proxé par Apache. En mode test, j'aimerais pouvoir simuler des pannes de réseau (comme si l'appareil avait perdu la connexion cellulaire) de tester la manipulation des applications des défaillances intermittentes. J'ai aussi besoin de valider son comportement avec des connexions réseau lentes. P>
J'utilise actuellement la trafic Shaper XP pour ralentir la connexion réseau, mais maintenant, j'ai besoin de quelque chose pour que la connexion Apache Server Envoyer la connexion réinitialise à la fois au hasard et sur des séquences prédéfinies (à la configuration et aux scénarios de test spécifiques). P>
6 Réponses :
Écrivez un petit proxy qui transfère les connexions TCP à partir de votre application sur le serveur Apache et que vous pouvez configurer dans votre test pour couper la connexion après x nombre d'octets ou millisecondes. P>
est-ce un environnement UNIX ou Linux? Nice CODE> Le fait de lui donner une priorité inférieure puis exécutez une tâche d'utilisation élevée de la CPU, comme en écoutant de la musique, de jouer un film, de calculer PI, etc. La priorité économique pour Apache doit créer des problèmes similaires à ce que vous êtes à la recherche de. p>
C'est un environnement Windows (AAACACK). Je pense que j'ai peut-être peut-être debout un VM Linux pour avoir le contrôle dont j'ai besoin. Je pense aussi que je devrais peut-être écrire un module Apache pour obtenir le niveau de contrôle que je veux.
Vous pourriez être capable de faire la même chose avec Windows. Il suffit de définir la priorité au plus bas (si cela vous permet de vous laisse), puis exécutez Superpi .
On dirait que le meurtrier est la plus proche, mais ce n'est toujours pas tout à fait là. Pour des tests répétables, il serait bon d'avoir un certain contrôle sur des paquets abandonnés et de réinitialiser. P>
sur un ordinateur différent (ou sur le même) Utilisez l'outil Commandline AB code> pour obtenir une certaine charge sur Apache. Plus d'informations ici . P>
Dans Apache2, vous pouvez le rendre lent en ajustant les paramètres de la préfiguë dans Apache2.conf. Les paramètres ci-dessous doivent rendre Apache Pretty Fn Slow. Ils ont fait que mon application Web locale prenne 700% plus longtemps à charger.
<IfModule mpm_prefork_module> StartServers 2 MinSpareServers 2 MaxSpareServers 2 MaxClients 4 MaxRequestsPerChild 0 </IfModule>
Je recommande fortement https://github.com/shopify/toxiproxy de shopify:
Télécharger https://github.com/shopify/toxiproxy/relases le cli et le serveur < / p>
exécutez le serveur: p> sur le proxy de configuration CLI sur Apache sur un autre port, par exemple 8080 p> Connexion lente et peu fiable: p> ajoutez 3 secondes de latence et arrêt après 1000 octets pour 1 % des demandes Il existe d'autres options pour la bande passante, etc. Vous pouvez ajouter ou les supprimer lors de l'utilisation. Beaucoup d'autres caractéristiques et bibliothèques là-bas. P> p>
Faites-le exécuter des scripts Perl via CGI. Ça va le ralentir.
Ce n'est pas vraiment utile du tout Skaffman.
C'est vendredi après-midi. Je me sens frivole.
Dummynet à FreeBSD est fait pour ce type de test.
À partir de OS X 10.7 (Lion) Apple a regroupé un outil avec Xcode appelé le conditionneur de liaison réseau. Il fournit les fonctionnalités requises.