fluvio-community / fluvio-community/fluvio-client-python
Performance degradation on python producer.send with large number of records
- Lingua principale
- Python
- Stelle
- 19
- Fork
- 11
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
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.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Usa lo snippet del producer Python fornito come riproduzione, confrontando i tempi per 10.000 e 100.000 record con il comportamento descritto del producer Rust. Non sono indicati file sorgente o test; traccia producer.send_string e flush dal punto di ingresso del client Python; il lavoro è completato quando l’esecuzione con molti record non mostra più il degrado segnalato e la regressione è coperta.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- api, performance
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 38/100