aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/share/perl/test/PerformanceTest.pl
blob: 5f570e84a55f45ba8cc0c05339ad233d55f9ca9d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#!/usr/bin/perl

# Usage:
# ./PerformanceTest.pl
# 2 variables should be changed:
# Line 14: $fork_limit
# Line 13: $benchmark_loop_count
#

use strict;
use OpenSimTest;

my $script = "./PerformanceTest.pl";
my $fork_limit = 50; # the number of process
my $benchmark_loop_count = 10000; # the number of requests sent by each process

my @child_pid = ();

for(1..$fork_limit) {
	my $pid = fork;
	if ($pid) {
		&parent_do($pid);
	} elsif ($pid == 0) {
		&child_do;
		exit(0);
	} else {
		die "could not fork";
	}
}

foreach (@child_pid) {
	waitpid($_, 0);
}


sub parent_do {
	my $pid = shift;
	push(@child_pid, $pid);
}

sub child_do {
	#for(1..10000) {
	#	print "$_ ";
	#}
	&OpenSimTest::init();
	# user
	&OpenSimTest::PerformanceCompare("user", $benchmark_loop_count, "get_user_by_name", "Test User");
	&OpenSimTest::PerformanceCompare("user", $benchmark_loop_count, "get_user_by_uuid", "db836502-de98-49c9-9edc-b90a67beb0a8");
	# grid
	&OpenSimTest::PerformanceCompare("grid", $benchmark_loop_count, "simulator_login", "3507f395-88e5-468c-a45f-d4fd96a1c668", "10.8.1.148", 9000);
	&OpenSimTest::PerformanceCompare("grid", $benchmark_loop_count, "simulator_data_request", "1099511628032000");
	&OpenSimTest::PerformanceCompare("grid", $benchmark_loop_count, "map_block", 999, 999, 1001, 1001);
	# asset
	&OpenSimTest::PerformanceCompare("asset", $benchmark_loop_count, "get_asset", "00000000000022223333000000000001");
	# inventory
	&OpenSimTest::PerformanceCompare("inventory", $benchmark_loop_count, "root_folders", "b9cb58e8-f3c9-4af5-be47-029762baa68f");
	&OpenSimTest::PerformanceCompare("inventory", $benchmark_loop_count, "get_inventory", "b9cb58e8-f3c9-4af5-be47-029762baa68f");
}

__END__
my $count = 10000;

&OpenSimTest::init();
# user
#&OpenSimTest::PerformanceCompare("user", $count, "get_user_by_name", "Test User");
#&OpenSimTest::PerformanceCompare("user", $count, "get_user_by_uuid", "db836502-de98-49c9-9edc-b90a67beb0a8");
# grid
#&OpenSimTest::PerformanceCompare("grid", $count, "simulator_login", "3507f395-88e5-468c-a45f-d4fd96a1c668", "10.8.1.148", 9000);
#&OpenSimTest::PerformanceCompare("grid", $count, "simulator_data_request", "1099511628032000");
#&OpenSimTest::PerformanceCompare("grid", $count, "map_block", 999, 999, 1001, 1001);
# asset
&OpenSimTest::PerformanceCompare("asset", $count, "get_asset", "00000000000022223333000000000001");
# inventory
#&OpenSimTest::PerformanceCompare("inventory", $count, "create_inventory", "b9cb58e8-f3c9-4af5-be47-029762baa68f");
#&OpenSimTest::PerformanceCompare("inventory", $count, "root_folders", "b9cb58e8-f3c9-4af5-be47-029762baa68f");
#&OpenSimTest::PerformanceCompare("inventory", $count, "get_inventory", "b9cb58e8-f3c9-4af5-be47-029762baa68f");
#&OpenSimTest::PerformanceCompare("inventory", $count, "new_item");
#&OpenSimTest::PerformanceCompare("inventory", $count, "new_folder");