MagicStack / asyncpg

A fast PostgreSQL Database Client Library for Python/asyncio.
Apache License 2.0
6.82k stars 393 forks source link

CockroachDB first query huge 7 seconds delay!! #1163

Closed tamis-laan closed 1 month ago

tamis-laan commented 1 month ago
import os
import asyncpg
import logging

# Singleton
_db = None

async def get():
    # Get singleton
    global _db

    # Return database singleton if already connected
    if _db:
        return _db

    # Log to console
    logging.info("Connecting to database")
    _db = await asyncpg.connect(
        database = os.getenv("DB_NAME","defaultdb"),
        user     = os.getenv("DB_USER", "root"),
        password = os.getenv("DB_PASS", "root"),
        host     = os.getenv("DB_HOST", "localhost"),
        port     = os.getenv("DB_PORT", "26257")
    )

    # Return database singleton
    return _db

async def main():
    from datetime import datetime

    db = await get()

    start = datetime.now()
    await db.fetch("SELECT * FROM EVENTS")
    stop = datetime.now()
    print(stop-start)
    start = datetime.now()
    await db.fetch("SELECT * FROM EVENTS")
    stop = datetime.now()
    print(stop-start)

# Entry point
if __name__ == "__main__":
    import asyncio
    asyncio.run(main())

There is a huge 7 seconds delay running the first query. Subsequent queries are very fast.

(.venv) > python src/database2.py
0:00:06.947757
0:00:00.000738
eltoder commented 1 month ago

Possibly a duplicate of #1158

elprans commented 1 month ago

Yeah, dupe of #1158. Closing.