fluvio-community / fluvio-community/fluvio-client-python
Performance degradation on python producer.send with large number of records
- Lenguaje dominante
- Python
- Estrellas
- 19
- Forks
- 11
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
slack thread: https://infinyon.slack.com/archives/CQ8UX6SBH/p1684349700779719
simple producer in python:
```python
#!/usr/bin/env python3
from datetime import datetime
from fluvio import Fluvio
import time
PARTITION = 0
if __name__ == "__main__":
# Connect to cluster
fluvio = Fluvio.connect()
producer = fluvio.topic_producer("simple")
start_time = time.time()
for x in range(10000):
producer.send_string("{}: timestamp: {}".format(x, datetime.now()))
# Flush the last entry
producer.flush()
print("completed in {} seconds", (time.time()-start_time))
```
10K records pushed in 1.2153611183166504 seconds, when if you increase the range to 100000
python3 producer100K.py
The same code takes 64.67606687545776 to complete.
Rust producer doesn't have such behaviour.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Usa el fragmento de productor de Python proporcionado como reproducción, comparando los tiempos para 10.000 y 100.000 registros con el comportamiento descrito del productor de Rust. No se nombra ningún archivo fuente ni ninguna prueba; rastrea producer.send_string y flush desde el punto de entrada del cliente de Python; se considera terminado cuando la ejecución con registros grandes ya no muestra la degradación indicada y la regresión está cubierta.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- api, performance
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 38/100