Increased the SQLITE_CHUNK_SIZE to 100MB (left at 4MB for simulation)
This commit is contained in:
parent
1f37f82b87
commit
9ff8aca1da
|
@ -1325,7 +1325,14 @@ void SQLiteDB::open(bool writable) {
|
||||||
int result = sqlite3_open_v2(apath.c_str(), &db, (writable ? SQLITE_OPEN_READWRITE : SQLITE_OPEN_READONLY), NULL);
|
int result = sqlite3_open_v2(apath.c_str(), &db, (writable ? SQLITE_OPEN_READWRITE : SQLITE_OPEN_READONLY), NULL);
|
||||||
checkError("open", result);
|
checkError("open", result);
|
||||||
|
|
||||||
int chunkSize = 4096 * (BUGGIFY ? g_random->randomInt(0, 100) : SERVER_KNOBS->SQLITE_CHUNK_SIZE_PAGES);
|
int chunkSize;
|
||||||
|
if( !g_network->isSimulated() ) {
|
||||||
|
chunkSize = 4096 * SERVER_KNOBS->SQLITE_CHUNK_SIZE_PAGES;
|
||||||
|
} else if( BUGGIFY ) {
|
||||||
|
chunkSize = 4096 * g_random->randomInt(0, 100);
|
||||||
|
} else {
|
||||||
|
chunkSize = 4096 * SERVER_KNOBS->SQLITE_CHUNK_SIZE_PAGES_SIM;
|
||||||
|
}
|
||||||
checkError("setChunkSize", sqlite3_file_control(db, nullptr, SQLITE_FCNTL_CHUNK_SIZE, &chunkSize));
|
checkError("setChunkSize", sqlite3_file_control(db, nullptr, SQLITE_FCNTL_CHUNK_SIZE, &chunkSize));
|
||||||
|
|
||||||
btree = db->aDb[0].pBt;
|
btree = db->aDb[0].pBt;
|
||||||
|
|
|
@ -195,7 +195,8 @@ ServerKnobs::ServerKnobs(bool randomize, ClientKnobs* clientKnobs) {
|
||||||
|
|
||||||
init( SQLITE_PAGE_SCAN_ERROR_LIMIT, 10000 );
|
init( SQLITE_PAGE_SCAN_ERROR_LIMIT, 10000 );
|
||||||
init( SQLITE_BTREE_PAGE_USABLE, 4096 - 8); // pageSize - reserveSize for page checksum
|
init( SQLITE_BTREE_PAGE_USABLE, 4096 - 8); // pageSize - reserveSize for page checksum
|
||||||
init( SQLITE_CHUNK_SIZE_PAGES, 1024 ); // 4MB
|
init( SQLITE_CHUNK_SIZE_PAGES, 25600 ); // 100MB
|
||||||
|
init( SQLITE_CHUNK_SIZE_PAGES_SIM, 1024 ); // 4MB
|
||||||
|
|
||||||
// Maximum and minimum cell payload bytes allowed on primary page as calculated in SQLite.
|
// Maximum and minimum cell payload bytes allowed on primary page as calculated in SQLite.
|
||||||
// These formulas are copied from SQLite, using its hardcoded constants, so if you are
|
// These formulas are copied from SQLite, using its hardcoded constants, so if you are
|
||||||
|
|
|
@ -167,6 +167,7 @@ public:
|
||||||
int SQLITE_FRAGMENT_OVERFLOW_PAGE_USABLE;
|
int SQLITE_FRAGMENT_OVERFLOW_PAGE_USABLE;
|
||||||
double SQLITE_FRAGMENT_MIN_SAVINGS;
|
double SQLITE_FRAGMENT_MIN_SAVINGS;
|
||||||
int SQLITE_CHUNK_SIZE_PAGES;
|
int SQLITE_CHUNK_SIZE_PAGES;
|
||||||
|
int SQLITE_CHUNK_SIZE_PAGES_SIM;
|
||||||
|
|
||||||
// KeyValueStoreSqlite spring cleaning
|
// KeyValueStoreSqlite spring cleaning
|
||||||
double SPRING_CLEANING_NO_ACTION_INTERVAL;
|
double SPRING_CLEANING_NO_ACTION_INTERVAL;
|
||||||
|
|
Loading…
Reference in New Issue