2013-10-03 2 views
0

Je développe une application flexible qui fournit des données du serveur à l'aide de "RemoteObject". J'utilise AMFPHP pour l'accès distant côté serveur. Le problème est lorsque j'appelle une méthode spécifique en utilisant le navigateur de service de AMFPHP, les données de résultat apparaissent dans 9-10 secondes. Mais quand j'appelle la même méthode de mon application flexible, cela prend 20-40 secondes !!!Flex - Envoi de l'objet distant Résultat Événement

le code qui envoie une requête d'objet distant à mon serveur est

remoteObject.destination = "decoyDestination"; 
       remoteObject.source = "PHP/manager1"; 
       remoteObject.endpoint = "http://insight2.ultralysis.com/0Amfphp/Amfphp/"; 

       remoteObject.addEventListener(FaultEvent.FAULT,handleFault); 
       remoteObject.addEventListener(ResultEvent.RESULT,handleResult); 
       var params:Object = new Object(); 
       params.action = "default"; 
       params.ValueVolume = 1; 
       timer.start(); 
       remoteObject.init(params); 

et ma fonction des résultats de la poignée est

private function handleResult (event:ResultEvent):void 
      { 
       timer.stop(); 
       CursorManager.removeAllCursors(); 
       Alert.show("result found at: "+timer.currentCount/60+" seconds"); 
      } 

La durée moyenne est de 30 secondes au moins. Autant que je sache à propos de remoting avec AMFPHP, il devrait fonctionner de plus en plus rapidement. Est-ce que je manque quelque chose?

* Remarque: en utilisant le Moniteur réseau intégré du FB, je peux voir qu'une demande est en cours d'envoi. Mais le temps de réponse et le temps écoulé sont toujours vierges. Événement après la réponse est reçue

Toute aide sera appréciée

Merci à l'avance

+0

Combien de données rapportez-vous? Il y a un coût associé aux données de sérialisation/désérialisation et à la transmission à travers le fil. Mais avoir un ralentissement de 2-4x me fait penser que votre configuration est un peu bancale. –

Répondre

0

Quelques choses que je voudrais que vous essayiez,

  1. Avoir le moniteur réseau sous tension , provoquera la performance hit - donc, éteignez-le,
  2. Le navigateur de service ne fonctionne évidemment pas en mode de débogage, si vous exportez version construire votre projet et essayez d'appeler ces services, vous devriez pouvoir t o voir la réponse beaucoup plus rapidement 9-10 secondes comme vous vous en doutez, (l'exécution de l'application en mode débogage prend toujours plus de temps, en regardant le temps de réponse, je pense que vous obtenez beaucoup de données du serveur qui évidemment prend du temps en mode débogage)
+0

salut zeus, merci pour les conseils. J'ai découvert que le principal mouton noir était le gZip. Je comprimais toutes mes données de sortie. Il semble que l'absence de gZip me donne un gain surprenant dans le temps de réponse de mon service. et à propos du mode debug, ça va vraiment me coûter 9-10 secondes !!! ça sonne vraiment cher !! –

Questions connexes