2009-04-11 7 views
0

Je crée un service qui reçoit des données de téléphones portables et les enregistre dans la base de données.Comment trouver la cause des mauvaises performances du service RESTful?

Le téléphone envoie les données toutes les 250 ms. Comme j'ai remarqué que le délai de stockage des données augmente, j'ai essayé d'exécuter WireShark et d'écrire un journal. J'ai remarqué que les demandes Web du téléphone mobile sont faites sans délai (vérifié avec WireShark), mais dans le journal de service j'ai remarqué que la demande est reçue toutes les secondes et demie ou presque deux secondes.

Est-ce que quelqu'un sait où pourrait être le problème ou la façon de tester et de déterminer la cause d'un tel retard?

Je crée un service avec WCF (webHttpBinding) et la base de données est MS SQL. Par ailleurs, le journal enregistre l'heure de la requête http et aussi l'heure d'écriture des données dans la base de données. Comme mentionné ci-dessus, la requête est reçue toutes les 1,5 à 2 secondes et après cela, il faut 50 ms pour stocker les données dans la base de données.

Merci!

+0

Plate-forme/pile technologique? – Brian

Répondre

0

Ma première hypothèse après avoir lu la question était que peut-être que vous soumettez des données si rapide, le serveur de base de données frappe un verrou en écriture contention (par exemple des champs NuméroAuto?)

Si votre plate-forme de base de données SQL Server est, prendre un regard sur http://www.sql-server-performance.com/articles/per/lock_contention_nolock_rowlock_p1.aspx

quoi qu'il en soit s'il vous plaît poster plus d'informations sur l'architecture globale du système ... ce que les logiciels/plates-formes sont utilisées à ce que les pièces etc ...

0

Peut-être il y a une certaine limitation de la connexion imposée par le fournisseur de service? Que se passe-t-il si vous (pour le test) n'écrivez pas dans la base de données et ne consignez que les accès de page dans le journal du serveur avec horodatage?

0

Vérifiez que vous n'avez aucun traçage en cours d'exécution sur les services Web, cela peut vraiment tuer perf.

Questions connexes