2017-05-26 4 views
1

je recueillir les statistiques concernant une demande et je vois les informations suivantes:Comment lire URLSessionTaskMetrics?

(Task Interval) <_NSConcreteDateInterval: 0x60800022d6e0> (Start Date) 2017-05-26 15:04:14 +0000 + (Duration) 4.643568 seconds = (End Date) 2017-05-26 15:04:19 +0000 
(Redirect Count) 0 
(Transaction Metrics) (Request) <NSURLRequest: 0x608000016b80> { URL: <URL> } 
(Response) <NSHTTPURLResponse: 0x60800043ad00> { URL: <URL> } { status code: 200, headers { <headers> } 
(Fetch Start) 2017-05-26 15:04:14 +0000 
(Domain Lookup Start) (null) 
(Domain Lookup End) (null) 
(Connect Start) (null) 
(Secure Connection Start) (null) 
(Secure Connection End) (null) 
(Connect End) (null) 
(Request Start) 2017-05-26 15:04:14 +0000 
(Request End) 2017-05-26 15:04:14 +0000 
(Response Start) 2017-05-26 15:04:18 +0000 
(Response End) 2017-05-26 15:04:19 +0000 
(Protocol Name) h2 
(Proxy Connection) NO 
(Reused Connection) YES 
(Fetch Type) Network Load 

Ce qui me brouille voici les lignes suivantes:

(Request End) 2017-05-26 15:04:14 +0000 
(Response Start) 2017-05-26 15:04:18 +0000 

Quelque chose se passe pendant quatre secondes et je ne peux pas comprendre ce que exactement.

En même temps ab (Benchmark Apache) montre les numéros suivants:

Requests per second: 1.59 [#/sec] (mean) 
Time per request:  629.910 [ms] (mean) 
Time per request:  629.910 [ms] (mean, across all concurrent requests) 
Transfer rate:   121.60 [Kbytes/sec] received 

Est-ce que quelqu'un a une idée de ce qui pourrait mal tourner là-bas? Comment puis-je améliorer le temps de réponse?

Répondre

1

Le délai entre la fin de la demande et le début de la réponse est le transfert d'en-tête http et le serveur préparant la réponse à vous envoyer. Ma conjecture est que vous devriez vérifier votre GET. Le diagramme suivant explique assez bien les métriques et la chronologie: enter image description here