Firebase 9.4.2 Performance
@jonathanedey ya está trabajando en esto.
Desde el 23/1/2025.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
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?
- Lenguaje dominante
- Java
- Estrellas
- 620
- Forks
- 305
- Merge medio
- 4 d 9 h
- PR fusionados (30 d)
- 4
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de firebase/firebase-admin-java
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
firebase/firebase-admin-java#1231 ·
-
api: core
firebase/firebase-admin-java#1198 · 3 comentarios · 1 asignado ·
-
[BUG] RemoteConfig unit tests fail in non-English (e.g., Korean) Locales due to Date Parsing Abiertoapi: remoteconfig
firebase/firebase-admin-java#1196 · 1 comentario · 2 asignados ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
firebase/firebase-admin-java#1192 · 3 comentarios ·
-
needs-triage type: feature request
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
firebase/firebase-admin-java#1149 · 1 comentario ·
Todos los issues de firebase/firebase-admin-java
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
elastic/gradle-plugins#157 ·
-
enhancement Tools
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
apache/rocketmq-dashboard#5008 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
DETECT_PARAMETER_NAMES=false silently disables @ConstructorProperties-based Creator detection too Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
FasterXML/jackson-databind#6229 ·