Differences

This shows you the differences between two versions of the page.

Link to this comparison view

irc:1461794400 [2017/05/27 13:44] (current)
Line 1: Line 1:
 +[11:04:34] <amr> in vertx2, where does the execution of actually waiting for a response from a server happen when using an httpclient?
 +
 +[11:05:01] <amr> ivd got a verticle that seems blocked when executing a long running httpclient request
 +
 +[12:16:58] <amr> like the verticle csnt receive any msgs until httpclient is done
 +
 +[12:35:49] <​AlexLehm>​ amr: if no code is blocking, it will wait in the event loop when you call end() and start the handler if the request is being finished
 +
 +[17:57:05] <​ChicagoJohn>​ for request reponses, is there a default handler i can use?  i honestly dont care about the response but its forcing me to provide a handler
 +
 +[18:12:30] <​ChicagoJohn>​ is there any way to increase the verbosity of this exception:
 +
 +[18:12:30] <​ChicagoJohn>​ Apr 28, 2016 9:11:04 AM io.vertx.core.http.impl.HttpClientRequestImpl
 +
 +[18:12:30] <​ChicagoJohn>​ SEVERE: io.vertx.core.VertxException:​ Connection was closed
 +
 +[20:15:05] <​aesteve>​ hi everyone hi temporalfox
 +
 +[20:15:13] <​temporalfox>​ hi arnaud
 +
 +[20:15:42] <​aesteve>​ I pushed an openssl branch https://​github.com/​aesteve/​http2-showcase/​tree/​openssl
 +
 +[20:15:47] <​temporalfox>​ cool
 +
 +[20:15:50] <​temporalfox>​ does it work yet ?
 +
 +[20:16:00] <​aesteve>​ but not sure I did stuff right because it seems slower than alpn
 +
 +[20:16:08] <​ChicagoJohn>​ ah! people are alive in this room!
 +
 +[20:16:18] <​aesteve>​ I'm sure I'm missing something obvious
 +
 +[20:16:19] <​temporalfox>​ yes it can be
 +
 +[20:16:23] <​temporalfox>​ I think what openssl provides
 +
 +[20:16:27] <​temporalfox>​ is a better CPU usage
 +
 +[20:16:49] <​aesteve>​ https://​github.com/​aesteve/​http2-showcase/​tree/​openssl
 +
 +[20:17:01] <​aesteve>​ should I be instanciating he server in a different manner ?
 +
 +[20:20:41] <​temporalfox>​ no
 +
 +[20:20:55] <​temporalfox>​ I don't think it's necessarily faster
 +
 +[20:21:06] <​temporalfox>​ actually how do you measure performances ?
 +
 +[20:21:10] <​temporalfox>​ and what do you mean by faster / slower ?
 +
 +[20:21:43] <​aesteve>​ that's just something I noticed , I didn't benchmark it
 +
 +[20:23:38] <​temporalfox>​ I've done some benchmark recently
 +
 +[20:23:46] <​temporalfox>​ but not yet benched ssl
 +
 +[20:23:52] <​temporalfox>​ nor HTTP2
 +
 +[20:24:09] <​aesteve>​ but what I'm more concerned about is that the difference I used to notice with alpn
 +
 +[20:24:13] <​aesteve>​ seems gone
 +
 +[20:24:32] <​temporalfox>​ which difference ?
 +
 +[20:24:44] <​aesteve>​ with the latest (openss) version : 16.5s with 400ms latency and HTTP2
 +
 +[20:24:53] <​aesteve>​ 17s with 400ms and HTTP1.1
 +
 +[20:25:02] <​aesteve>​ that's why I thought I was missing something
 +
 +[20:25:32] <​temporalfox>​ what do you meansure ?
 +
 +[20:25:43] <​temporalfox>​ benchmarking is hard :-)
 +
 +[20:26:18] <​temporalfox>​ according to norman maurer slides
 +
 +[20:26:22] <​temporalfox>​ the interest of open ssl
 +
 +[20:26:36] <​temporalfox>​ is to provide a better CPU usage under high load
 +
 +[20:26:44] <​aesteve>​ no but it's kinda crazy though
 +
 +[20:26:56] <​aesteve>​ alpn + 400ms : 18s
 +
 +[20:27:02] <​aesteve>​ (http1)
 +
 +[20:27:15] <​aesteve>​ alpn + 400ms : 2s (HTTP2)
 +
 +[20:27:36] <​temporalfox>​ http://​normanmaurer.me/​presentations/​2014-facebook-eng-netty/​slides.html#​34.0
 +
 +[20:28:19] <​aesteve>​ oh, and last thing : the HTTP2 indicator (chrome extension) is gone with OpenSSL :P
 +
 +[20:28:30] <​aesteve>​ that's why I definitely think I'm doing something wrong
 +
 +[20:28:30] <​temporalfox>​ ah
 +
 +[20:28:32] <​temporalfox>​ ok
 +
 +[20:28:34] <​temporalfox>​ interesting
 +
 +[20:28:45] <​temporalfox>​ what you can do is
 +
 +[20:28:47] <​temporalfox>​ use wireshark
 +
 +[20:28:58] <​temporalfox>​ what you should do is
 +
 +[20:29:06] <​temporalfox>​ print the HTTP protocol version
 +
 +[20:29:06] <​temporalfox>​ in HttpServerRequest
 +
 +[20:29:08] <​temporalfox>​ to check
 +
 +[20:29:20] <​temporalfox>​ in the request
 +
 +[20:29:36] <​temporalfox>​ need to take care of my daughter
 +
 +[20:29:42] <​temporalfox>​ will be back in 30 mns :-)
 +
 +[20:36:28] <​aesteve>​ HTTP_1_1
 +
 +[20:36:40] <​aesteve>​ I must confess it's a relief :P
 +
 +[20:46:09] <​ChicagoJohn>​ is there some sort of generic NOOP response handler?
 +
 +[20:46:35] <​ChicagoJohn>​ every time i create an HttpClientRequest,​ it yells about providing a response handler
 +
 +[20:59:32] <​temporalfox>​ you can use an empty lambda for that ?
 +
 +[21:00:20] <​aesteve>​ you have to end the response one one way or another :\
 +
 +[21:06:16] <​aesteve>​ HttpClient, my bad, I read that one wrong
 +
 +[21:06:48] <​aesteve>​ yes an empty lambda is indeed the equivalent of a noop response handler
 +
 +[21:48:59] <​aesteve>​ I'm leaving for today temporalfox , if you have some time don't hesitate to have a look at my code and tell me if something'​s wrong
 +
 +[21:49:06] <​temporalfox>​ sure
 +
 +[21:49:08] <​aesteve>​ have a nice evening everyone :)
 +
 +[21:49:14] <​temporalfox>​ trying to finish a feature for tonight :-)
 +
 +[21:49:23] <​temporalfox>​ thanks have a nice evening too