1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- /*
- * ********************************************
- *
- * Licensed Materials - Property of IBM and/or HCL
- *
- * IBM Informix Dynamic Server
- * Copyright IBM Corporation 2010
- * (c) Copyright HCL Technologies Ltd. 2017. All Rights Reserved.
- *
- * ********************************************
- */
- #include "API.h"
- #ifndef IAD_GENCONFIG_H
- #define IAD_GENCONFIG_H
- /* TPCC fixed costs
- * These costs were generated on Linux Opteron
- *
- * PLOGS_PER_SEC = # plog pages per cpu at fixed clock speed
- * PLOGS_PER_SEC_RTO = # plog pages per cpu at this clock speed
- * with RTO_SERVER_RESTART on
- * LLOGS_PER_SEC - # llog pages per cpu at fixed clocks speed
- * with RTO_SERVER_RESTART on
- * FIXED_CLOCK_SPEED - clock speed of machine used to determine
- * these rates
- * MIN_RUN_TIME = min time before plog or llog will recycle
- */
- double PLOGS_PER_SEC_RTO = 600;
- double PLOGS_PER_SEC = 80;
- double LLOGS_PER_SEC = 1200;
- double MIN_RUN_TIME = 300; /* 5 minutes */
- double FIXED_CLOCK_SPEED = 1996314023;
- /* default values */
- #define RTO_RESTART_POLICY (120) /* 2 minutes; units = seconds */
- #define DATA_LOSS_POLICY (1800) /* 30 minutes; units = seconds */
- int MEMORY_PER_ACTIVE_USER= (1*MB); /* prepare stmts, cursors, etc */
- int MEMORY_PER_DS_USER= (5*MB); /* joins, hash joins, etc */
- int DBMS_MEMORY_OVERHEAD= (50*MB);
- int ROOTDBS_OVERHEAD= (100*MB); /* 100 Mb */
- double TEMP_SPACE= (0.5); /* 20% of non log space */
- int PHYS_BUFF= (512);
- int RTO_PHYS_BUFF= (512);
- int LOGS_BUFF= (256);
- int LOCKS_PER_USER= (2000);
- double VP_MEM_CACHE= (0.20); /* 20% of memory / ncpus */
- #define MIN_BUFFERPOOL_SIZE (2000*is->machineconfig.pagesize)
- #define MIN_VP_MEM_CACHE (800) /* KB */
- #define MIN_LRUS (16)
- #define NUM_BUFFERS_PER_LRU (1024*10)
- #define DBMS_BOOT_OVERHEAD (45) /* 1 minute */
- #define MIN_PLOG_SIZE (0.20) /* 20% of the bufferpool */
- #define NUM_LOGFILES (8)
- #define MIN_DBSP_SIZE (100*MB)
- #define OFF_RECVRY_THREADS_PER_DISK (5)
- #define AIOVPS_PER_COOKED_FILE (2)
- #define LISTEN_THREADS_PER_USERS (150)
- #define TPCC_NBUFFERS_WH (51000)
- #define DBSP_OVERHEAD (1*MB) /* 2 Mb */
- #define NUM_LOGFILES (8)
- #define TEST_RW_SIZE (10*MB)
- #define TEST_RW_MAX_TIME (100) /* .5 Mb/sec is min disk speed */
- #define DFLT_LOGSIZE (4*MB) /* 4 Mb */
- #define DEF_NEGATIVE_ONE -1
- #define DEFBP_MAGIC 0x444154
- #define MAX_PAGESIZE 16*1024
- typedef struct buffpool_cfg
- {
- muint bpcfg_nbuffs; /* Max number of shared buffers */
- mint bpcfg_nlrus; /* number of LRU queues */
- double bpcfg_maxdirty; /* lru query begin cleaning limit */
- double bpcfg_mindirty; /* lru query end cleaning limit */
- mint bpcfg_pagesize; /* page size of buffer */
- mint bpcfg_flags; /* flags, example BPCFG_DEFAULT */
- }buffpool_cfg_t;
- EXPORT long STDCALL iadGetRecommendation(install_t *inst, int type);
- EXPORT char* STDCALL iadGetRecommendationString(install_t *inst, int type);
- EXPORT int STDCALL iadCalculateRecommendation(install_t *inst);
- EXPORT int STDCALL iadLoadRecommendation(install_t *inst);
- EXPORT int STDCALL iadUpdateRecommendation(install_t *inst, int type, const char *value);
- EXPORT int STDCALL iadLoadDefaultConfig(install_t *inst);
- EXPORT int STDCALL iadSetAutoConfig(install_t *inst, int type, const char *value);
- int InitAutoCfg(instance_t *inst);
- int measure_disk_speed(install_t *is);
- #endif /* IAD_GENCONFIG_H */
|