[ 
https://issues.apache.org/jira/browse/SOLR-17240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17839094#comment-17839094
 ] 

Houston Putman commented on SOLR-17240:
---------------------------------------

As with everything jetty related, not confident enough to say it twice...

 

I really don't want to have different settings for http1 and http2. I don't 
even like that we support both, the end goal would be to remove http1 when 
http2 works. I have considered your idea before [~magibney] , the one where we 
divide by the max multiplexing, but the problem is getting that value...

[~markrmil...@gmail.com] has a good (somewhat unrelated) config change that 
should help some of our http2 issues as well, but agrees we shouldn't increase 
this value too much.

I'll work on trying to get the multiplex maximum so we can just divide. I like 
that idea the best.

> Http2SolrClient uses too few requests per host for http2
> --------------------------------------------------------
>
>                 Key: SOLR-17240
>                 URL: https://issues.apache.org/jira/browse/SOLR-17240
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: SolrJ
>    Affects Versions: 8.0
>            Reporter: Houston Putman
>            Assignee: Houston Putman
>            Priority: Major
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Ever since the Http2SolrClient was introduced, if the client was set up to 
> use http2, then the {{maxConnectionsPerDestination}} was hardcoded to 4 and 
> could not be overridden.
> This may have been due to a mis-reading of the 
> {{setMaxConnectionsPerDestination}} javadocs whichs states that browsers 
> generally use 2-6 requests per destination, and links to an RFC. However the 
> RFC linked to covers HTTP 1.1 and obviously Solr is not a browser.
> A number of users have seen issues around slowness when using http2, and I 
> think this is a likely cause. Http2 will multiplex requests on a single 
> connection, however by default the number of requests that Jetty will 
> multiplex is somewhere around 300. (This is a very hard value to track down, 
> as the way it is determined is via a web of indirection)
> So, for example, the HttpShardHandler defaults to 100,000 
> maxConnectionsPerDestination. So the users using http1 will be able to get 
> that throughput. The users using http2 will have a max of roughly 1,200 (4 * 
> 300). Obviously there is going to be a massive performance implication.
> So I think we should just use the same {{maxConnectionsPerDestination}} for 
> both http2 and http1. The http2 client will have the added benefit of using 
> multiplexing, and Jetty will likely do the right thing and not create tons of 
> connections when multiplexing can be used instead.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to