Re: slow pg_connect()
От | Craig Ringer |
---|---|
Тема | Re: slow pg_connect() |
Дата | |
Msg-id | 47E75F18.9060206@postnewspapers.com.au обсуждение исходный текст |
Ответ на | slow pg_connect() (<firerox@centrum.cz>) |
Ответы |
Re: slow pg_connect()
|
Список | pgsql-performance |
firerox@centrum.cz wrote: > It takes more then 0.05s :( > > Only this function reduce server speed max to 20request per second. > If you need that sort of frequent database access, you might want to look into: - Doing more work in each connection and reducing the number of connections required; - Using multiple connections in parallel; - Pooling connections so you don't need to create a new one for every job; - Using a more efficient database connector and/or language; - Dispatching requests to a persistent database access provider that's always connected However, your connections are indeed taking a long time. I wrote a trivial test using psycopg for Python and found that the following script: #!/usr/bin/env python import psycopg conn = pyscopg.connect("dbname=testdb") generally took 0.035 seconds (350ms) to run on my workstation - including OS process creation, Python interpreter startup, database interface loading, connection, disconnection, and process termination. A quick timing test shows that the connection/disconnection can be performed 100 times in 1.2 seconds: import psycopg import timeit print timeit.Timer('conn = psycopg.connect("dbname=craig")', 'import psycopg').timeit(number=100); ... and this is still with an interpreted language. I wouldn't be too surprised if much better again could be achieved with the C/C++ APIs, though I don't currently feel the desire to write a test for that. -- Craig Ringer
В списке pgsql-performance по дате отправления: