summaryrefslogtreecommitdiff
path: root/bench
Commit message (Collapse)AuthorAgeFilesLines
* WT-3008 Move wtperf stress jobs to new stress runner folder (#3131)David Hows2016-11-072-0/+0
|
* WT-2880 Add Zstandard compression support (#3075)Keith Bostic2016-10-213-1/+9
| | | | | | | | | | | | | | * Fix a bug found by inspection in LZ4 code: we're going to offset the destination buffer by sizeof(LZ4_PREFIX), so we need to offset the destination buffer length by the same amount. * Prettiness pass through the snappy driver so it and the zstd driver look the same, minor cleanup in zlib. * Add the compression_level configuration option to the zstd extension initialization function so it's possible to set the compression level from an application. * Fix a bug in zlib raw compression: the destination buffer size (dst_len), can be smaller than the target page size (page_max), use the smaller of the two values to set the target compression size. * The zlib raw compression function could return without calling deflateEnd on its z_stream structures, potentially leaking memory and scratch buffers. * If the default reserved bytes for zlib raw compression isn't sufficient, we fail on compression of what might be very large blocks. We don't have information on how many bytes need to be reserved in order to know the final deflate() will succeed, and the default value was experimentally derived, for all we know there are workloads where the default will fail a lot. Add a fallback before failing hard, try with 2x the default reserved space.
* WT-2949 Add option to skip closing the connection after test runs. (#3082)sueloverso2016-10-116-1/+12
| | | | | | | | | * WT-2949 Add option to skip closing the connection after test runs. * Reverse the default value per review comments and add where needed to configs. * Add additional text/comments for new option.
* WT-2956 utility tests -h option is always overridden by the default setup ↵Keith Bostic2016-10-101-1/+0
| | | | (#3085)
* WT-2948 simplify error handling by making __wt_epoch return never fail (#3080)Keith Bostic2016-10-073-79/+29
| | | If a system call to retrieve a timestamp fails it will now result in a panic. We couldn't find any case where that's a real possibility.
* WT-2858 Rename wtperf's CONFIG structure (#3065)Keith Bostic2016-09-288-739/+752
| | | | Also replace key-string generation implementation with a more efficient implementation.
* WT-2917 split wtperf's configuration into per-database and per-run parts (#3006)Keith Bostic2016-09-2710-801/+765
|
* WT-2916 Fix and simplify s_whitespace. (#3047)Michael Cahill2016-09-161-1/+1
|
* WT-2859 Restructure statistics gathering macros (#3016)Sulabh Mahajan2016-09-141-6/+9
| | | | | | | Having _FAST_ macros gives an impression that when we use them, we are collecting fast statistics only, which is not true. Except when statistics=none is set, we collect all the stats. This change removes _FAST_ macros and modifies the basic macros to only collect stats when statistics=none is not set.
* WT-2894 Add wtperf stress workload that tries to induce negative scaling (#3034)Alex Gorrod2016-09-131-0/+21
| | | Via use a high thread count and throttled operations.
* WT-2888 Switch functions to return void where possible (#3019)Keith Bostic2016-09-063-7/+4
| | | Some functions return an error code even though they don't need to. That adds complexity to our code. Switch to returning a void.
* WT-2876 Fix a memory leak of new wtperf URI (#3021)Alex Gorrod2016-09-052-0/+4
| | | | Also fix compiler warning on OS X
* WT-2876 Add an oplog-like ability to wtperf utility. (#2999)Alex Gorrod2016-09-054-5/+70
| | | This allows us to partially simulate secondary replica nodes.
* Revert "WT-2842 split wtperf's configuration into per-database and per-run ↵Alex Gorrod2016-08-3110-714/+636
| | | | parts" (#3005)
* Revert "WT-2842 Add explicit include in wtperf to resolve build warning." ↵Alex Gorrod2016-08-311-1/+0
| | | | (#3004)
* WT-2842 Add explicit include in wtperf to resolve build warning. (#3002)Alex Gorrod2016-08-311-0/+1
|
* WT-2842 split wtperf's configuration into per-database and per-run parts (#2971)Keith Bostic2016-08-3110-636/+714
|
* WT-2824 Fix double concating the config strings (#2990)Sulabh Mahajan2016-08-302-15/+19
| | | | | | * WT-2824 Fix double concating the config strings * WT-2824 Fix code styling
* WT-2870 Rename wtperf jobs for consistency. (#2994)sueloverso2016-08-292-0/+0
|
* WT-2868 Add sample_interval to checkpoint-stress.wtperf (#2989)Sulabh Mahajan2016-08-291-1/+4
|
* WT-2816 General improvements to WiredTiger eviction performance (#2949)Michael Cahill2016-08-261-2/+1
| | | | | | | | | | A set of changes to the eviction algorithm including: * Fix a bug in how many items can be added to the urgent queue * Have the eviction server sleep less so it recovers from disruptions faster. * Only have application threads evict dirty pages if they are blocked on the dirty trigger. * Swap eviction queues when one becomes empty. * Have the eviction server populate the "other" queue whenever it notices that it isn't full.
* WT-2783 Clean up wtperf configuration object management (#2957)Keith Bostic2016-08-163-46/+68
| | | | | | | | | | | | | | | | | | | The multi-database wtperf feature implementation assigns memory from the base CONFIG structure to the CONFIG copies, but then individually frees the memory referenced by the copies, resulting in OS X complaints that memory is freed more than once. Rename the config_assign() function to be config_init(), it does more than simply assign the previous values. In config_init(), create copies of the configuration strings in each new CONFIG structure. There are also a few places where CONFIG.home and CONFIG.monitor_dir are set (for example, to the value of the command line -h and -m options), change that code to free/allocate so we maintain a local copy of the strings in every CONFIG structure. Change config_init() to copy the CONFIG.home and CONFIG.monitor_dir fields along with the rest of the CONFIG structure, they get freed in config_free(), so they should be copied in config_init().
* WT-2828 wtperf long test changes (#2948)sueloverso2016-08-1521-328/+54
| | | | | | | | | | | | | | | | * Set sample rate for every operation * Set a smaller value size. * Update table config to reflect MongoDB defaults. Add eviction threads * Set session max like MongoDB * Update comments * Fix runner script to take NOCREATE arg to run successive tests. * Add warmup to long test configs
* WT-2820 add gcc warn_unused_result attribute (#2938)Keith Bostic2016-08-123-5/+5
| | | | | | | * Add the gcc "cold" attribute to the verbose, message, and assorted error functions (informs the compiler that the function is unlikely to be executed). * Add the WT_IGNORE_RET() macro that ignores return values in the handfull of places we want to ignore return values. * Replace calls to fprintf() in the utility with calls to util_err(), replace local variable names in error messages with class names.
* WT-2817 Add wtperf conf to stress test checkpoints with updates (#2941)Sulabh Mahajan2016-08-121-0/+20
|
* WT-2807 Change the memory allocator for wtperf performance tests. (#2849)Alex Gorrod2016-08-091-1/+1
| | | From jemalloc to TCMalloc - to match the MongoDB default. It improves throughput in a couple of tests without any noticeable regressions.
* WT-2814 Add new single op truncate mode to wtperf (#2933)Alex Gorrod2016-08-082-8/+29
| | | Enabled via new truncate_single_ops option.
* WT-2806 Off-by-one allocation in wtperf. (#2923)Michael Cahill2016-08-021-1/+1
|
* WT-2793 Enhance statistics related to overflow values (#2912)sueloverso2016-07-284-57/+15
| | | | | | | | * WT-2793 Remove very long running config. Rename the one we run. * Fix overflow stats. Make 130K overflow test use btree. * Add line to upgrading doc stating stat field removed.
* WT-2798 Fix data consistency bug with table creates during a checkpoint. (#2910)Michael Cahill2016-07-272-1/+22
| | | | | | When logging is disabled, a create operation (and potentially other metadata updates) could write partially completed checkpoint metadata, leaving on-disk files inconsistent until the checkpoint completes.
* WT-2772 Remove bigval run. (#2907)sueloverso2016-07-261-1/+0
|
* WT-2772 Adjust log.wtperf config. Remove unneeded configs. (#2902)sueloverso2016-07-258-96/+23
| | | | | | * WT-2772 Adjust log.wtperf config. Remove unneeded configs. * WT-2772 Update comment to make clear logging is enabled.
* Fix a set of places where we ignored the return value of a function. (#2893)Keith Bostic2016-07-213-25/+16
|
* WT-2737 Scrub dirty pages rather than evicting them (#2889)Keith Bostic2016-07-213-145/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Link/include test/testutils with wtperf so we can use the test utility macros and functions in wtperf. * Minor changes to wtperf variables, sort some options, make some things boolean. * Merge the stub memory allocation functions used by the test code and wtperf. * Remove the WT_EVICT_CLEAN flag, it's never used. * __wt_page_can_evict() doesn't need to set WT_EVICTING, the only place that cares is __evict_review(), and it already sets that flag. * Add a new reconciliation flag WT_EVICT_SCRUB; it causes reconciliation to save disk images it creates. Change the eviction of multi-block pages to optionally re-instantiate pages in memory instead of evicting them. * When instantiating pages in-memory, set the read-generation to the same value as the read-generation of the original page (unless it's set to WT_READGEN_OLDEST, in which case leave the page's read-generation unset. * Simplify the in-memory tests some. * Turn on fixed-length store tests, they're no longer slow (no clue what changed). * Sue suggested removing Helium support from wtperf. * Replace dcalloc() calls before snprintf() calls with dmalloc. * Cosmetic cleanup: set the boundary structure's entries when initializing at the start of __rec_split_write(), don't set it at some random spot in the code. * After writing a block during checkpoint, we potentially re-use that block during eviction, and during eviction we'll want a disk image for potential re-instantiation in memory. If re-using a block but the boundary structure doesn't already have a disk image, create one. I don't think the boundary structure will ever already have a disk image in the current code, but future versions of reconciliation might, and the test is the same as the one we have to do for raw compression, which has already created the disk image. * If we're closing, don't instantiate any disk images, additionally, free any disk images we don't use. Both changes should fix the same problem where we have a disk image when we're truly discarding the page during a close, one should prevent us from ever having a disk image at that point, the other should prevent use from using any disk image we have. * Fixes for wtperf directory create changes: ensure the directory exists before the configuration file is dumped and create the right directories in multi-database mode.
* WT-2746 Add a new statistic tracking I/O for checkpoints (#2853)Keith Bostic2016-07-081-1/+0
| | | Separate cache write statistics into checkpoint and non-checkpoint I/O.
* WT-1162 Add a wtperf test case focusing on latency measurements (#2856)sueloverso2016-07-081-0/+12
|
* WT-2752 Fix errors in wtperf config (#2855)sueloverso2016-07-072-3/+9
| | | | Add latency monitor to populate phase
* WT-2729 Focus eviction on the largest trees in cache. (#2832)Michael Cahill2016-06-284-10/+62
| | | | | | | | | | | | | | | | | | Randomize visits to trees that use a tiny fraction of the cache. Other general eviction optimizations. Now that we are queuing more entries (potentially), make sure enough of them become candidates. Previously, a skewed distribution of read generations could mean that only 10% of queue entries were considered. Improve the efficiency of sorting the queue by calculating the score once when pages are added to the queue. Add a workload to exercise differential eviction from trees. In order to do that, add range partitioning to wtperf. Don't override icount in wtperf workloads with random_range set.
* WT-2691 Use wrappers for ctype functions to avoid sign extension errors (#2818)Don Anderson2016-06-211-5/+6
| | | | | | | | | | | | | | * Cast arguments for ctype functions to avoid sign extension errors. Create __wt_* versions of all ctype functions, and use them whenever wt_internal.h is available. Add check to prevent direct use of ctype functions from core source. * Change wrappers to use u_char arguments, and return bool. Remove unused wrappers. * Use u_char in preference to unsigned char. * Examples do not have u_char defined on Windows.
* WT-2682 add option to configure WiredTiger with strict compiler flags (#2773)Keith Bostic2016-06-082-1/+4
| | | | | | Add the --enable-strict option that uses our current best guess at the right flags for strict compilation. While adding the option, expand the set of flags we can compile cleanly with.
* WT-2651: Coverity 1355591 resource leak (#2738)Keith Bostic2016-05-221-1/+1
| | | Fix comment spelling.
* WT-2651: Coverity 1355591 resource leak (#2737)Keith Bostic2016-05-222-89/+84
| | | | | | | | * Free memory when returning an error. * Remove unnecessary parenthesis. * Make repeated addition/subtraction operator order of evaluation explicit. * Remove repeated #includes. * Some minor restructuring of the config file parsing to handle more complicated line continuation and whitespace combinations.
* WT-2611 Modify wtperf to handle escaped quotes. (#2714)Don Anderson2016-05-191-5/+56
| | | | | | | | * Modify wtperf to handle escaped quotes. * Made local function static. Added backslash in quote (normally redundant) needed to keep spell check sane. Fixed C++ style comment.
* WT-2610 Reduce hazard pointer array size. (#2731)sueloverso2016-05-173-5/+48
| | | | | | | | | | | | | | | | * WT-2610 Reduce hazard pointer array size. * Add session_count_idle and workload to wtperf. * Allocate session array outside the loop. * KNF * Remove diagnostic call to check hazard pointers. * Add a few hazard related statistics. * Revert change. Reinstate diagnostic hazard page check.
* WT-2547 Add eviction configs for 1 thread.Susan LoVerso2016-04-132-0/+23
|
* Merge branch 'develop' into wt-2330Keith Bostic2016-03-311-4/+3
|\
| * Merge pull request #2615 from wiredtiger/wt-2512Alex Gorrod2016-03-311-4/+3
| |\ | | | | | | WT-2512 - Change how wtperf throttle values per thread are calculated
| | * WT-2512 - Minor changes to make intent clearer.David Hows2016-03-301-2/+2
| | |
| | * WT-2512 - Change how throttle values per thread are calculatedDavid Hows2016-03-301-4/+3
| | |
* | | WT-2330: in-memory configurations should not create on-disk collection filesKeith Bostic2016-03-292-3/+3
|/ / | | | | | | | | | | | | | | | | Add WiredTiger helper functions set set line buffering and turn off buffering (wrappers for setvbuf), then add style tests so we never call setvbuf directly, to avoid re-introducing the problems in WT-2517. Add a new WiredTiger open-handle flag, WT_STREAM_LINE_BUFFER, which allows the Btree debug code to set line-buffering on its debug stream.