AWS RDS上のPostgreSQLの監査ログの負荷を計測する

| コメントをどうぞ

前記事 AWS RDS上のPostgreSQLの監査ログを取る に続いて、監査ログの負荷を計測してみる。

環境

DBサーバー: RDS PostgreSQL9.3.3 ap-northeast-1c db.t2.micro
APPサーバー: EC2 ap-northeast-1c t2.micro OpenJDK1.7.0_71 postgresql-9.3-1102.jdbc4

計測アプリ

100クエリーを発行した合計時間(ミリ秒)を表示する。接続にかかる時間は含まれない。このアプリを5回実行する。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Query {
    static String url = "jdbc:postgresql://postgres-test.xxx.ap-northeast-1.rds.amazonaws.com:5432/pgtest";
    static String uid = "pgadmin";
    static String pwd = "pgadmin";
    static String sql = "SELECT * FROM test1";
    public static void main(String[] args) throws Exception {
        Class.forName("org.postgresql.Driver");
        Connection conn = DriverManager.getConnection(url, uid, pwd);
        long start = System.currentTimeMillis();
        for (int i=0; i<100; i++) {
            Statement stmt = conn.createStatement();
            ResultSet result = stmt.executeQuery(sql);
            while (result.next()) {
                String key = result.getString("key");
                int data1 = result.getInt("data1");
                int data2 = result.getInt("data2");
                int data3 = result.getInt("data3");
            }
            result.close();
            stmt.close();
        }
        long end = System.currentTimeMillis();
        System.out.println("" + (end-start) + "ms");
        conn.close();
    }
}

計測結果

【log_statement=None時】
実行時間:77ms 79ms 77ms 81ms 77ms 平均78.2ms
ログファイルの増加:0KB

【log_statement=All時】
実行時間:85ms 83ms 86ms 78ms 88ms 平均84ms
ログファイルの増加:54.5KB

※ログレコード 108B×500=52.7KB
2014-11-06 04:40:11 UTC:10.0.1.69(40600):pgadmin@pgtest:[6908]:LOG: execute : SELECT * FROM test1

(All-None)÷None×100=7.4%

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>