システムの速度低下やシステムの停止を回避するために、BellaDatiシステムのステータスを監視するようにしてください。

次の指標を監視することをお勧めします:

  • httpステータス (アプリケーションステータス)
  • CPU使用率
  • フリーストレージスペース
  • 解放可能なメモリ

ベストプラクティスとして、これらのメトリックを1週間間隔で監視することをお勧めします。

FAQ

Q1: 頻繁にインポートする場合。

BellaDatiインスタンスへのインポートが頻繁にスケジュールされている場合は、次のデータベーススクリプトを実行する必要があります (PostgreSQLでこのスクリプトを実行します):

--Delete data_source_executions
delete from bi.data_source_execution where canceled_when is not null;
delete from bi.data_source_execution where executed_when < ‘2016-07-01’;--more than 30 days old
vacuum analyze bi.data_source_execution;
--Delete import_table entries
delete from bi.import_table it where it.id not in (select import_table_id from bi.data_source ds where ds.import_table_id is not null union all select e.import_table_id from bi.data_source_execution e where e.import_table_id is not null);
vacuum analyze bi.import_table;

Q2: BellaDatiにソートされたテーブルが多すぎて、ソートが遅い。

メンバーテーブルが多すぎる場合 (並べ替え)、次のデータベーススクリプトを複数回実行する必要があります (PostgresSQLでこのスクリプトを実行します):

CREATE OR REPLACE FUNCTION drop_tables(IN _schema TEXT, IN _parttionbase TEXT)
RETURNS void
LANGUAGE plpgsql
AS
$$
DECLARE
    row     record;
BEGIN
    FOR row IN
        SELECT
            table_schema,
            table_name
        FROM
            information_schema.tables
        WHERE
            table_schema = _schema
        AND
            table_name ILIKE (_parttionbase || '%')
        LIMIT 1000
    LOOP
        EXECUTE 'DROP TABLE ' || quote_ident(row.table_schema) || '.' || quote_ident(row.table_name);
        RAISE INFO 'Dropped table: %', quote_ident(row.table_schema) || '.' || quote_ident(row.table_name);
    END LOOP;
END;
$$;
 
 
BEGIN TRANSACTION;
SELECT drop_tables('public''members_');
COMMIT;

Q3: BellaDatiがデータベースに接続できない。

  • まず、データベースが実行されており、着信接続を受け入れていることを確認する必要があります。
  • データベースが稼働している場合は、さらに調査を行う必要があります:
    • アクティブなクエリを確認します - システムの概要ページの管理コンソールから確認できます (データベースアクティビティダンプ)。
    • クエリが多すぎる場合は、データベース構成でmax_connectionsパラメーターを上げ、アプリケーションサーバー構成でpool_sizeを上げる必要があります。

Q4: 応答時間が長すぎるか、タイムアウトになってしまう。

  • アプリケーションサーバーとデータベースサーバーが稼働しているサーバーの、システムリソースを確認する必要があります。
  • 通常、主な理由はメモリ不足です。サーバーのメモリ構成を上げるか、ロードバランサーを使用して複数のサーバーを設定することを検討してください。ほとんどの場合、アプリケーションを再起動すると問題が解決します。



  • No labels