[
https://issues.apache.org/jira/browse/SOLR-17240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17887916#comment-17887916
]
Jan Høydahl commented on SOLR-17240:
------------------------------------
I worked around this bug by setting {{SOLR_HTTP1=true}} on a Solr cluster...
> 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
> Components: SolrJ
> Affects Versions: 8.0
> Reporter: Houston Putman
> Assignee: Houston Putman
> Priority: Major
> Labels: pull-request-available
> Time Spent: 1h 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: [email protected]
For additional commands, e-mail: [email protected]