cja*_*vin 3 postgresql python pgbouncer
我第一次使用简单的 Python Web 应用程序(Flask + psycopg2)尝试 PgBouncer,我很难通过简单的谷歌搜索来解释其日志消息的含义。我基本上看到了一堆:
2014-06-09 09:25:07.867 20980 LOG C-0x1b1b240: vinum/vinum@unix:6432 login attempt: db=vinum user=vinum
2014-06-09 09:25:07.867 20980 LOG S-0x1b38bf0: vinum/vinum@127.0.0.1:5432 new connection to server
2014-06-09 09:25:07.875 20980 LOG C-0x1b1b240: vinum/vinum@unix:6432 closing because: client close request (age=0)
2014-06-09 09:25:15.626 20980 LOG C-0x1b1b240: vinum/vinum@unix:6432 login attempt: db=vinum user=vinum
2014-06-09 09:25:16.058 20980 LOG C-0x1b1b240: vinum/vinum@unix:6432 closing because: client close request (age=0)
2014-06-09 09:25:16.762 20980 LOG C-0x1b1b240: vinum/vinum@unix:6432 login attempt: db=vinum user=vinum
2014-06-09 09:25:16.796 20980 LOG C-0x1b1b3a8: vinum/vinum@unix:6432 login attempt: db=vinum user=vinum
2014-06-09 09:25:16.796 20980 LOG S-0x1b38d58: vinum/vinum@127.0.0.1:5432 new connection to server
2014-06-09 09:25:17.181 20980 LOG C-0x1b1b240: vinum/vinum@unix:6432 closing because: client close request (age=0)
2014-06-09 09:25:17.240 20980 LOG C-0x1b1b3a8: vinum/vinum@unix:6432 closing because: client close request (age=0)
Run Code Online (Sandbox Code Playgroud)
我发现这些多次关闭age=0令人担忧,它们是否意味着总是重新创建连接,因此永远不会合并?
Dan*_*ité 10
我发现这些年龄 = 0 的多次关闭令人担忧
不,整个日志看起来不错,并且往往表明池正在工作。
这些条目age=0被标记为LOG C,它们涉及客户端和 pgBouncer 之间的通信。age=0只是意味着客户端使用连接的时间少于 1 秒,这与该日志中出现的毫秒数一致。
第 1 行,客户端连接到 pgBouncer。
在第 2 行,与新的 postgres 后端建立了第一个连接。
在第 3 行,客户端退出。
在第 4 行,一个新客户端到达,并且没有与后端建立新连接,这意味着前一个客户端按预期重用。
在第 8 行,第二个服务器连接 ( LOG S) 与新的 postgres 后端建立,这是必要的,因为有两个并发客户端(请参阅LOG C同一秒内前两行的成功登录尝试)。
然后客户端退出,并且没有提到与 postgres 后端的连接被关闭,正如预期的那样。它们应保持打开状态,直到它们到达server_lifetime或server_idle_timeout空闲时。
| 归档时间: |
|
| 查看次数: |
2789 次 |
| 最近记录: |