Hi,
The default Falcon memory parameters are:
falcon_record_memory_max = 250 MB
falcon_page_cache_size = 4 MB
falcon_record_scavenge_floor = 50% (of record memory max)
falcon_record_scavenge_threshold = 67% (of record memory max)
falcon_record_chill_threshold = 5 MB
falcon_index_chill_threshold = 4 MB
I propose the following changes:
falcon_record_memory_max = 250 MB
falcon_page_cache_size = 250 MB
falcon_record_scavenge_floor = 90% (of record memory max)
falcon_record_scavenge_threshold = 90% (of record memory max)
falcon_record_chill_threshold = 5 MB
falcon_index_chill_threshold = 4 MB
Reasoning:
1. Increase the page cache to 250 MB.
A properly sized page cache can make a tremendous difference in
performance. For example, on Xeno the testcase for Bug #36442 required 5
hours to complete with a 4 MB page cache, but less than 5 *minutes* with
a page cache of 500 MB.
Note that the page cache size is fixed, and that the page cache is
pre-allocated during engine initialization. The record cache is not
pre-allocated, and grows up to the record memory max.
2. Increase record scavenge threshold to 90%.
Load-based scavenging now ensures a better response to rapid filling of
the record cache, so we can afford to operate closer to capacity,
keeping more records in cache--a good thing.
3. Increase record scavenge floor to 90%.
This will reduce the cost of scavenging by avoiding unnecessarily deep
scavenges. A higher floor will also keep more records in cache.
A final note: Backlogging is enabled by scavenging, but the backlog
operation is only triggered by transaction chill operation. So, for now,
no matter how desperately a backlog is needed, it will not happen unless
a transaction exceeds the chill threshold. I am revisiting this policy.
Any thoughts? I welcome your input.
Chris
| Thread |
|---|
| • Proposed change to Falcon memory parameters | Christopher Powers | 29 Jan |