Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Further enhancements to the stress test. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
752a5d8f13cb2938cecf20a1b0c24494 |
User & Date: | mistachkin 2018-01-04 18:21:36.901 |
Context
2018-01-04
| ||
18:35 | Even more enhancements to the stress test. check-in: b4c8f6a38d user: mistachkin tags: trunk | |
18:21 | Further enhancements to the stress test. check-in: 752a5d8f13 user: mistachkin tags: trunk | |
17:50 | Update stress test settings file. check-in: fe2a4355f8 user: mistachkin tags: trunk | |
Changes
Changes to Tests/stress.eagle.
︙ | ︙ | |||
482 483 484 485 486 487 488 | # # The only reasonable way that this test can guarantee this condition # is to disable the backup tests when shared-cache mode is being used # for testing. # # TODO: Update these if the workload numbers change. # | | | 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 | # # The only reasonable way that this test can guarantee this condition # is to disable the backup tests when shared-cache mode is being used # for testing. # # TODO: Update these if the workload numbers change. # if {[hasRuntimeOption sharedCache] || [hasRuntimeOption dmlOnly]} then { lappend noWorkload 12; # NOTE: Backup to in-memory database. lappend noWorkload 13; # NOTE: Backup from in-memory database. } # # NOTE: Omit some workloads if we are only interested in data manipulation # (DML) statements. |
︙ | ︙ | |||
654 655 656 657 658 659 660 | # # NOTE: Workload #1, CREATE TABLE statements. # waitTest A lappend ::times(1) [lindex [time { initTest A setupWorkloadFileDb $dstFileName db | | | 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 | # # NOTE: Workload #1, CREATE TABLE statements. # waitTest A lappend ::times(1) [lindex [time { initTest A setupWorkloadFileDb $dstFileName db for {set index 4} {$index <= $count1} {incr index} { if {[catch { sql execute $db [appendArgs \ "CREATE TABLE IF NOT EXISTS t" \ $index "(x PRIMARY KEY, y, z);"] showTest A } error]} then { if {[isExpectedError $error]} then { |
︙ | ︙ | |||
687 688 689 690 691 692 693 | # # NOTE: Workload #2, DROP TABLE statements. # waitTest B lappend ::times(2) [lindex [time { initTest B setupWorkloadFileDb $dstFileName db | | | 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 | # # NOTE: Workload #2, DROP TABLE statements. # waitTest B lappend ::times(2) [lindex [time { initTest B setupWorkloadFileDb $dstFileName db for {set index 4} {$index <= $count1} {incr index} { if {[catch { sql execute $db [appendArgs \ "DROP TABLE IF EXISTS t" $index \;] showTest B } error]} then { if {[isExpectedError $error]} then { showTest b |
︙ | ︙ | |||
1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 | } } } cleanupDb $dstFileName db false true false doneTest V }] 0] }] } -body { set workloadNames(all) [array names workload] tputs $test_channel [appendArgs \ "---- there are " [llength $workloadNames(all)] \ " total workloads, their names are: " $workloadNames(all) \n] | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 | } } } cleanupDb $dstFileName db false true false doneTest V }] 0] }] ############################################################################# # WORKLOAD #23 (W) # ############################################################################# set workload(23) [list \ [list srcFileName dstFileName table count1 count2 count3 \ count4 count5 count6 count7] { # # NOTE: Workload #23, "big" INSERT and DELETE statements. # waitTest W lappend ::times(23) [lindex [time { initTest W setupWorkloadFileDb $dstFileName db for {set index 1} {$index <= $count1} {incr index} { if {[catch { beginTransaction $db sql execute $db [appendArgs \ "WITH s(i) AS " \ "(SELECT 1 UNION ALL SELECT i+1 FROM s WHERE i<" \ $count5 ") INSERT INTO t2 SELECT RANDOMBLOB(" $count3 \ ") FROM s; WITH s(i) AS " \ "(SELECT 1 UNION ALL SELECT i+1 FROM s WHERE i<" \ $count5 ") INSERT INTO t3 SELECT RANDOMBLOB(" $count3 \ ") FROM s; DELETE FROM t3;"] endTransaction $db showTest W } error]} then { if {[isExpectedError $error]} then { showTest w } else { failTest w $error } } } cleanupDb $dstFileName db false true false doneTest W }] 0] }] } -body { set workloadNames(all) [array names workload] tputs $test_channel [appendArgs \ "---- there are " [llength $workloadNames(all)] \ " total workloads, their names are: " $workloadNames(all) \n] |
︙ | ︙ | |||
1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 | tputs $test_channel [appendArgs \ "---- starting workload run #" $index(0) ...\n] unset -nocomplain thread status; doneTest sql execute $srcDb "CREATE TABLE IF NOT EXISTS t1(x PRIMARY KEY, y, z);" sql execute $db "CREATE TABLE IF NOT EXISTS t1(x PRIMARY KEY, y, z);" sql execute $srcDb "CREATE INDEX IF NOT EXISTS i1 ON t1(y);" sql execute $db "CREATE INDEX IF NOT EXISTS i1 ON t1(y);" foreach index(1) [lsort -integer $workloadNames(enabled)] { set workloadCallbacks($index(1)) [list \ apply $workload($index(1)) $fileName(1) $fileName(2) t1 $count(1) \ | > > > > | 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 | tputs $test_channel [appendArgs \ "---- starting workload run #" $index(0) ...\n] unset -nocomplain thread status; doneTest sql execute $srcDb "CREATE TABLE IF NOT EXISTS t1(x PRIMARY KEY, y, z);" sql execute $srcDb "CREATE TABLE IF NOT EXISTS t2(x);" sql execute $srcDb "CREATE TABLE IF NOT EXISTS t3(x);" sql execute $db "CREATE TABLE IF NOT EXISTS t1(x PRIMARY KEY, y, z);" sql execute $db "CREATE TABLE IF NOT EXISTS t2(x);" sql execute $db "CREATE TABLE IF NOT EXISTS t3(x);" sql execute $srcDb "CREATE INDEX IF NOT EXISTS i1 ON t1(y);" sql execute $db "CREATE INDEX IF NOT EXISTS i1 ON t1(y);" foreach index(1) [lsort -integer $workloadNames(enabled)] { set workloadCallbacks($index(1)) [list \ apply $workload($index(1)) $fileName(1) $fileName(2) t1 $count(1) \ |
︙ | ︙ |
Changes to lib/System.Data.SQLite/settings.stress.mistachkin.eagle.
︙ | ︙ | |||
14 15 16 17 18 19 20 | # set journalMode WAL; # Initial journal mode for database files. # set pageSize 4096; # Initial page size for database files. # set noWorkload [list]; # Workloads to be omitted from the run, by index. # set exitOnFail true; # Halt testing and exit process on test failure? # set noTrace true; # Disable SQLite trace logging to a file? # set beginTransaction "BEGIN"; # SQL to execute before modifying the database. # set endTransaction "COMMIT"; # SQL to execute after modifying the database. | > > > | 14 15 16 17 18 19 20 21 22 23 | # set journalMode WAL; # Initial journal mode for database files. # set pageSize 4096; # Initial page size for database files. # set noWorkload [list]; # Workloads to be omitted from the run, by index. # set exitOnFail true; # Halt testing and exit process on test failure? # set noTrace true; # Disable SQLite trace logging to a file? # set beginTransaction "BEGIN"; # SQL to execute before modifying the database. # set endTransaction "COMMIT"; # SQL to execute after modifying the database. # addRuntimeOption sharedCache # addRuntimeOption dmlOnly |