問題タブ [pgbouncer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - herokuのレールでpgbouncerをセットアップするには?
Heroku は最近、本番データベースへの利用可能な接続数を (500 から 60 に) 減らしました。開かれた接続は多くのメモリを消費し、問題を引き起こしていたので、正しい方向への一歩のようです.
私のアプリには、すべてが同時にデータベースにアクセスする 100 を超える同時プロセスがあります。Heroku は、https://github.com/gregburek/heroku-buildpack-pgbouncerを使用してこの問題を修正することを提案しています。
これを行う方法に関する適切なガイドを見つけることができませんでした。ビルドパックをインストールして有効にすることはできましたが、これらの構成変数が何をし、どのように機能するのかわかりません。デフォルトの構成では、大量のActiveRecord::ConnectionTimeoutError
エラーが発生します。
誰もこれを経験したことがありますか?これを適切に行う方法と、構成する必要があるすべてを構成する方法について、ステップバイステップのガイドを提供してください。
django - pgbouncer postgres 複数の django サイト
私はpostgresとdjangoでpgbouncerを少し学ぼうとしていますが、本番環境では問題があるようです。
したがって、site1
次のdjangoデータベースを使用するdjangoサイトがありますsettings.py
。
上記はすべて問題なく動作しますsite1
-これは本番環境で実行されています。site2
ここで、新しいデータベースで呼び出される別の django サイト (別の django インストール) を紹介しますsite2db2
。したがって、現時点ではsite2
、django の settings.py を次のように設定しています。
残念ながら、syncdb
この 2 番目の django サイトにアクセスしようとすると、次のようになります。
site1
と同じポートを使用しているためだとsite2
思います。この問題をどのように回避しますか。私を正しい方向に向けるガイダンスは素晴らしいでしょう。
postgresql - Golang - pgbouncer とトランザクションの使用
技術詳細
- バージョン1.2に行く
- go bmizerany/pq の postrgre ライブラリ
この問題は私を怒らせており、誰かが助けてくれることを願っています.
postgresデータベースからデータを読み取り、レコードごとにhttpリクエストを作成してデータベースを更新するアプリケーションをgolangで開発しました。
これはすべて簡単です。ただし、pgbouncer が用意されています。pgbouncer の構成では、準備済みステートメントをサポートしていません。Go はすべてのクエリを準備済みのステートメントに静かにラップします。pgbouncer でこれを回避するには、トランザクションを設定します。これは、挿入/更新/削除などに適しています。
select ステートメントの場合、トランザクションでラップしています。
(うーん、インデントが少しずれているようです) おわかりのように、トランザクションを閉じずに bnut を開始しています。これは、すべての選択が「トランザクションでアイドル」状態のままになるという pg 側で問題を引き起こします。
tx.Commit() と tx.Rollback() を試しましたが、どちらの場合もエラーが発生します。
また
Go でトランザクションを正常に閉じるにはどうすればよいですか? pgbouncer.ini を更新して、ドライバ ライブラリを lib/pq に切り替えられるようにしたいと考えていますが、それがこの問題に直接役立つかどうかはわかりません。
では、どうすれば tx オブジェクトを正しく閉じることができますか、または Go がフードの下で準備されたステートメントを使用しないようにする方法はありますか?
ありがとうネイサン
私は物事を少し変えようとしました:
このコードでログに表示される内容:
ただし、これは select ステートメントを 2 回目に試行する場合であることを指摘しておく必要があります。このアプリケーションは、バッチを選択して処理し、後続のバッチを選択します。このエラーは、2 番目の選択で発生します。最初の選択に問題はありません。
php - PHP が PgBouncer プールを介して PostgreSQL データベースに接続していることを検出することは可能ですか?
PHP Web アプリケーションの管理ダッシュボード ページで、データベース接続に関する詳細を表示したいと考えています。ローカルのセットアップに応じて、接続は直接の場合もあれば、PgBouncer によって仲介される場合もあります。私が接続しているものを正確に検出することは可能ですか? この情報は、デバッグに役立つ場合があります。
デフォルトのポート (6432 対 5432) を確認することは可能ですが、明らかに信頼できません。PgBouncer は、直接接続と区別するのに役立つ何かを接続に挿入しますか?
django - django 1.7 と PostgreSQL への接続プール?
django アプリ (Django-PostgresPool、djorm-ext-pool、django-db-pool) と PG Bouncer または PG Pool の違いは何ですか?
アプリは最後の 2 つのパッケージのいずれかを使用しますか?
この記事では、作者はdjango 1.6から始まるパッチがあると言っています。アプリも、PG Bouncer または PG Pool パッケージも、これらのソリューションを使用する必要がなくなったことを意味しますか?