Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Firebase 9.4.2 Performance

オープン
#1,061 コメント 2 件 リアクション 0 件 担当者 1 名 GitHub で見る

@jonathanedey がすでに取り組んでいます。

2025年1月23日 から。

評価

この issue はまだ評価されていません。

説明

api: core

Hi i had my own implementation of 9.3.0 with a costum http2 client using

public static HttpAsyncClientBuilder defaultHttpAsyncClientBuilder() {
    PoolingAsyncClientConnectionManager connectionManager = new PoolingAsyncClientConnectionManager();
    connectionManager.setMaxTotal(200);
    connectionManager.setDefaultMaxPerRoute(100);
    connectionManager.setDefaultConnectionConfig(ConnectionConfig.custom().setTimeToLive(-1L, TimeUnit.MILLISECONDS).build());
    connectionManager.setDefaultTlsConfig(TlsConfig.custom().setVersionPolicy(HttpVersionPolicy.NEGOTIATE).build());
    return HttpAsyncClientBuilder.create().setH2Config(H2Config.custom().setMaxConcurrentStreams(100).build()).
            setHttp1Config(Http1Config.DEFAULT).setConnectionManager(connectionManager).
            setRoutePlanner(new SystemDefaultRoutePlanner(ProxySelector.getDefault())).disableRedirectHandling().disableAutomaticRetries();//
}

it reached up to 1.7 qps. to upper limit of what was possible, but there were rare server crashes, due too.. idk.

Now im using the latest version and no matter what i do, ill get like 180 qps max?

The default implementation of h2config uses 250 concurrent streams (shouldnt it be 100?). And the Reactor class uses cpu count IO Threads. So kinda 10.

Im now using this configuration, before the default from the wiki page.

def h2Config = H2Config.custom()
.setMaxConcurrentStreams(100)
.setInitialWindowSize(1048576 * 2)
// .setPushEnabled(false)
.build()

        def ioReactorConfig = IOReactorConfig.custom()
                .setIoThreadCount(Runtime.getRuntime().availableProcessors() * 2)
                .setSoTimeout(Timeout.ofMilliseconds(60000))
                .build()

        def client = H2AsyncClientBuilder.create()
                .setH2Config(h2Config)
                .setIOReactorConfig(ioReactorConfig)
         .disableRedirectHandling()
         .disableAutomaticRetries()
                .build()

        options = FirebaseOptions.builder()
                .setCredentials(GoogleCredentials.fromStream(resource))
                .setHttpTransport(new ApacheHttp2Transport(client))
                .build()

So the latest firebase version sends at 1/10 of the original speed?

主要言語
Java
スター
620
フォーク
305
平均マージ
4日 9時間
マージ済み PR(30日)
4

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

firebase/firebase-admin-java のほかの issue

firebase/firebase-admin-java の issue をすべて見る

似ている issue

Java の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。