Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | In the stress test, always set thread names and allow the workload thread priorities to be overridden. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
185b17b09d36a918edd39db115703869 |
User & Date: | mistachkin 2012-10-15 05:07:57.165 |
Context
2012-10-15
| ||
06:19 | Add stress test workload to change the database journal mode. check-in: 0771490908 user: mistachkin tags: trunk | |
05:07 | In the stress test, always set thread names and allow the workload thread priorities to be overridden. check-in: 185b17b09d user: mistachkin tags: trunk | |
2012-10-14
| ||
12:55 | Remove an unnecessary debugging statement. In the stress test, make sure the amount of memory to allocate for exclusion is never negative. check-in: 77097d2fe6 user: mistachkin tags: trunk | |
Changes
Added .fossil-settings/crnl-glob.
> | 1 | * |
Added .fossil-settings/ignore-glob.
> | 1 | Externals/Eagle/bin/Eagle*.pdb |
Changes to Tests/stress.eagle.
︙ | ︙ | |||
25 26 27 28 29 30 31 | # starting any of the tests in this file. # shutdownSQLite $test_channel ############################################################################### runTest {test stress-1.1 {multithreaded stress testing} -setup { | | | | > | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | # starting any of the tests in this file. # shutdownSQLite $test_channel ############################################################################### runTest {test stress-1.1 {multithreaded stress testing} -setup { unset -nocomplain result thread index workload priority noWorkload \ priorities srcDb db fileName compiled options count times logFileName \ logListener connection indicators iterations exitOnFail coTaskMem \ failures ############################################################################# proc formatWorkloadResult { index } { set result [appendArgs "---- iterations for workload (" $index "): "] append result [expr {[info exists ::iterations($index,ok)] ? \ |
︙ | ︙ | |||
209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 | set count(0) 1; # Workload repeat count (i.e. total full runs). set count(1) 20; # Workload iteration count (i.e. within a run). set count(2) 500; # Workload iteration delay, in milliseconds. set count(3) 2000; # Workload "small" data chunk size, in bytes. set count(4) 10000000; # Workload "big" data chunk size, in bytes. set count(5) 314572800; # Maximum heap memory to exclude at one time. set noWorkload [list]; # Workloads to be omitted from the run, by index. set exitOnFail true; # Halt testing and exit process on test failure? set coTaskMem true; # Use AllocCoTaskMem/FreeCoTaskMem for memory? ############################################################################# # # NOTE: If command line arguments to the test suite are available, process # them for any options that are applicable to this test (i.e. any of # the tunable workload parameters listed above). # if {[info exists argv] && [llength $argv] > 0} then { parse options -flags \ {-StopOnUnknownOption +IgnoreOnUnknownOption SkipOnUnknownOption} -- \ [list [list null MustHaveIntegerValue -1 -1 -count0 $count(0)] \ [list null MustHaveIntegerValue -1 -1 -count1 $count(1)] \ [list null MustHaveIntegerValue -1 -1 -count2 $count(2)] \ [list null MustHaveIntegerValue -1 -1 -count3 $count(3)] \ [list null MustHaveIntegerValue -1 -1 -count4 $count(4)] \ [list null MustHaveIntegerValue -1 -1 -count5 $count(5)] \ [list null MustHaveListValue -1 -1 -noWorkload $noWorkload] \ [list null MustHaveBooleanValue -1 -1 -exitOnFail $exitOnFail] \ [list null MustHaveBooleanValue -1 -1 -coTaskMem $coTaskMem]] $argv set count(0) $options(-count0,value) set count(1) $options(-count1,value) set count(2) $options(-count2,value) set count(3) $options(-count3,value) set count(4) $options(-count4,value) set count(5) $options(-count5,value) set noWorkload $options(-noWorkload,value) set exitOnFail $options(-exitOnFail,value) set coTaskMem $options(-coTaskMem,value) } ############################################################################# tputs $test_channel [appendArgs \ | > > > | 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 | set count(0) 1; # Workload repeat count (i.e. total full runs). set count(1) 20; # Workload iteration count (i.e. within a run). set count(2) 500; # Workload iteration delay, in milliseconds. set count(3) 2000; # Workload "small" data chunk size, in bytes. set count(4) 10000000; # Workload "big" data chunk size, in bytes. set count(5) 314572800; # Maximum heap memory to exclude at one time. set noWorkload [list]; # Workloads to be omitted from the run, by index. set priorities [list]; # Dictionary of workload thread priorities. set exitOnFail true; # Halt testing and exit process on test failure? set coTaskMem true; # Use AllocCoTaskMem/FreeCoTaskMem for memory? ############################################################################# # # NOTE: If command line arguments to the test suite are available, process # them for any options that are applicable to this test (i.e. any of # the tunable workload parameters listed above). # if {[info exists argv] && [llength $argv] > 0} then { parse options -flags \ {-StopOnUnknownOption +IgnoreOnUnknownOption SkipOnUnknownOption} -- \ [list [list null MustHaveIntegerValue -1 -1 -count0 $count(0)] \ [list null MustHaveIntegerValue -1 -1 -count1 $count(1)] \ [list null MustHaveIntegerValue -1 -1 -count2 $count(2)] \ [list null MustHaveIntegerValue -1 -1 -count3 $count(3)] \ [list null MustHaveIntegerValue -1 -1 -count4 $count(4)] \ [list null MustHaveIntegerValue -1 -1 -count5 $count(5)] \ [list null MustHaveListValue -1 -1 -noWorkload $noWorkload] \ [list null MustHaveListValue -1 -1 -priorities $priorities] \ [list null MustHaveBooleanValue -1 -1 -exitOnFail $exitOnFail] \ [list null MustHaveBooleanValue -1 -1 -coTaskMem $coTaskMem]] $argv set count(0) $options(-count0,value) set count(1) $options(-count1,value) set count(2) $options(-count2,value) set count(3) $options(-count3,value) set count(4) $options(-count4,value) set count(5) $options(-count5,value) set noWorkload $options(-noWorkload,value) set priorities $options(-priorities,value) set exitOnFail $options(-exitOnFail,value) set coTaskMem $options(-coTaskMem,value) } ############################################################################# tputs $test_channel [appendArgs \ |
︙ | ︙ | |||
268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 | tputs $test_channel [appendArgs \ "---- maximum excluded heap memory is " $count(5) " byte(s)\n"] tputs $test_channel [appendArgs \ "---- workloads to be skipped... " \ [expr {[llength $noWorkload] > 0 ? $noWorkload : "none"}] \n] tputs $test_channel [appendArgs \ "---- unexpected errors " \ [expr {$exitOnFail ? "will" : "will not"}] \ " halt testing and exit the process\n"] tputs $test_channel [appendArgs \ "---- the " [expr {$coTaskMem ? "CoTaskMem" : "SQLite"}] \ " allocator will be used to exclude heap memory\n"] ############################################################################# # # NOTE: Workloads #12 and #13 contain C# code that should be compiled, but # only once. These variables keep track of that state information. # An integer value in one of these variables means the compilation was | > > > > > > > > > > > > | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 | tputs $test_channel [appendArgs \ "---- maximum excluded heap memory is " $count(5) " byte(s)\n"] tputs $test_channel [appendArgs \ "---- workloads to be skipped... " \ [expr {[llength $noWorkload] > 0 ? $noWorkload : "none"}] \n] tputs $test_channel [appendArgs \ "---- workloads priority overrides... " \ [expr {[llength $priorities] > 0 ? $priorities : "none"}] \n] tputs $test_channel [appendArgs \ "---- unexpected errors " \ [expr {$exitOnFail ? "will" : "will not"}] \ " halt testing and exit the process\n"] tputs $test_channel [appendArgs \ "---- the " [expr {$coTaskMem ? "CoTaskMem" : "SQLite"}] \ " allocator will be used to exclude heap memory\n"] ############################################################################# # # NOTE: Create the workload priority array based on the priority list seen # on the command line, if any. # array set priority $priorities ############################################################################# # # NOTE: Workloads #12 and #13 contain C# code that should be compiled, but # only once. These variables keep track of that state information. # An integer value in one of these variables means the compilation was |
︙ | ︙ | |||
917 918 919 920 921 922 923 924 925 926 927 928 929 930 | unset -nocomplain thread foreach index(1) [lsort -integer [array names workload]] { if {[lsearch -exact $noWorkload $index(1)] == -1} then { set thread($index(1)) [object create -alias System.Threading.Thread \ [list apply $workload($index(1)) $fileName(1) $fileName(2) t1 \ $count(1) $count(3) $count(4)] 1048576] } } foreach index(1) [list Start Join] { foreach index(2) [array names thread] { $thread($index(2)) $index(1) } | > > > > > > > | 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 | unset -nocomplain thread foreach index(1) [lsort -integer [array names workload]] { if {[lsearch -exact $noWorkload $index(1)] == -1} then { set thread($index(1)) [object create -alias System.Threading.Thread \ [list apply $workload($index(1)) $fileName(1) $fileName(2) t1 \ $count(1) $count(3) $count(4)] 1048576] $thread($index(1)) Name [appendArgs \ [file rootname [file tail $fileName(2)]] " #" $index(1)] if {[info exists priority($index(1))]} then { $thread($index(1)) Priority $priority($index(1)) } } } foreach index(1) [list Start Join] { foreach index(2) [array names thread] { $thread($index(2)) $index(1) } |
︙ | ︙ | |||
1036 1037 1038 1039 1040 1041 1042 | freeDbConnection cleanupLogging $logFileName rename cleanupLogging "" rename setupLogging "" | | | | > | 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 | freeDbConnection cleanupLogging $logFileName rename cleanupLogging "" rename setupLogging "" unset -nocomplain result thread index workload priority noWorkload \ priorities srcDb db fileName compiled options count times logFileName \ logListener connection indicators iterations exitOnFail coTaskMem \ failures } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} \ -result {0}} ############################################################################### runSQLiteTestEpilogue runTestEpilogue |