It's highly recommended to monitor status of BellaDati system in order to avoid system slowdown or system outages.

We recommend to monitor following metrics:

  • http status (application status)
  • CPU Utilization
  • Free storage space
  • Freeable memory

As best practice, it is recommended to monitor these metrics in weekly intervals.

FAQ

Q1: What should I do when there are many frequent imports?

In case imports in your BellaDati instance are scheduled in frequent time intervals, following database script should be executed (execute this script in 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: There are too many sorted tables in BellaDati and the sorting is slow.

In case there are too many member tables (sorting), following database script should be executed multiple times (execute this script in 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 is not able to connect to the database, what should I do?

  • First of all, it's necessary to check the database is running and accepting the incoming connections. 
  • If database is up and running, it is necessary to do further investigation:
    • check the active queries - it is possible to do so from Administration console on the System summary page (database activity dump)
    • if there are too many queries, it is necessary to raise up the max_connections parameter in the database configuration and the pool_size in the application server configuration

Q4: Response time is too long or is timing out.

  • It is necessary to check system resources on the server, where the application server and database server is running.
  • Usually, the main reason is insufficient memory - consider raising up the memory configuration of your server or setting up multiple servers with load balancer. In most cases application restart solves the problem.

 

 

  • No labels