2017-03-03 10 views
0

場合によっては、ユーザが各ページを訪れるたびに新しいレコードをテーブルに挿入することがあります。ウェブアプリケーションが着信リクエストのCPU使用量の> 98%を使用する場合、Postgresは遅くなります。 Ubuntu 15上でLinode VPS 1 CPUコアのRPSを改善しますか?シングルコア上のPostgresqlとWebアプリケーション

作成した表に問題がありますか?

CREATE TABLE "mysession" 
"token" varchar NOT NULL, 
"username" varchar, 
"created" int4 NOT NULL DEFAULT 0, 
"updated" int4 NOT NULL DEFAULT 0, 
"idle" int4 NOT NULL DEFAULT 0, 
PRIMARY KEY ("token") NOT DEFERRABLE INITIALLY IMMEDIATE) WITH (OIDS=FALSE); 
+0

これをプロファイルして、データベースアクティビティがボトルネックであると判断しましたか? – harmic

答えて

1

PostgreSQLはINSERTのCPUのボトルネックにはなりません。それはあなたが検討するかもしれません

  • 非同期コミットを有効にします。
  • ありwal_logs

options as well that are documented in the Non-Durable Settingsドキュメントを無効にします。

+0

編集した質問に表示される作成されたテーブルに問題がありますか? –

+0

'WITH(OIDS = FALSE);'は古く、デフォルトの..ユーザー名とトークンはテキストでなければならず、varcharではなく、タイムスタンプであるように作成/更新されたサウンドでなければなりません。 –

関連する問題