Mercurial > hg > nginx-tests
comparison upstream_hash_memcached.t @ 952:e9064d691790
Tests: converted tests to run in parallel.
author | Andrey Zelenkov <zelenkov@nginx.com> |
---|---|
date | Tue, 21 Jun 2016 16:39:13 +0300 |
parents | 0597ca82c26a |
children | 882267679006 |
comparison
equal
deleted
inserted
replaced
951:9361c7eddfc1 | 952:e9064d691790 |
---|---|
45 http { | 45 http { |
46 %%TEST_GLOBALS_HTTP%% | 46 %%TEST_GLOBALS_HTTP%% |
47 | 47 |
48 upstream memd { | 48 upstream memd { |
49 hash $arg_a; | 49 hash $arg_a; |
50 server 127.0.0.1:8081; | 50 server 127.0.0.1:%%PORT_1%%; |
51 server 127.0.0.1:8082; | 51 server 127.0.0.1:%%PORT_2%%; |
52 server 127.0.0.1:8083; | 52 server 127.0.0.1:%%PORT_3%%; |
53 } | 53 } |
54 | 54 |
55 upstream memd_c { | 55 upstream memd_c { |
56 hash $arg_a consistent; | 56 hash $arg_a consistent; |
57 server 127.0.0.1:8081; | 57 server 127.0.0.1:%%PORT_1%%; |
58 server 127.0.0.1:8082; | 58 server 127.0.0.1:%%PORT_2%%; |
59 server 127.0.0.1:8083; | 59 server 127.0.0.1:%%PORT_3%%; |
60 } | 60 } |
61 | 61 |
62 upstream memd_w { | 62 upstream memd_w { |
63 hash $arg_a; | 63 hash $arg_a; |
64 server 127.0.0.1:8081 weight=2; | 64 server 127.0.0.1:%%PORT_1%% weight=2; |
65 server 127.0.0.1:8082 weight=3; | 65 server 127.0.0.1:%%PORT_2%% weight=3; |
66 server 127.0.0.1:8083; | 66 server 127.0.0.1:%%PORT_3%%; |
67 } | 67 } |
68 | 68 |
69 upstream memd_cw { | 69 upstream memd_cw { |
70 hash $arg_a consistent; | 70 hash $arg_a consistent; |
71 server 127.0.0.1:8081 weight=2; | 71 server 127.0.0.1:%%PORT_1%% weight=2; |
72 server 127.0.0.1:8082 weight=3; | 72 server 127.0.0.1:%%PORT_2%% weight=3; |
73 server 127.0.0.1:8083; | 73 server 127.0.0.1:%%PORT_3%%; |
74 } | 74 } |
75 | 75 |
76 server { | 76 server { |
77 listen 127.0.0.1:8080; | 77 listen 127.0.0.1:%%PORT_0%%; |
78 server_name localhost; | 78 server_name localhost; |
79 | 79 |
80 set $memcached_key $arg_a; | 80 set $memcached_key $arg_a; |
81 | 81 |
82 location / { | 82 location / { |
106 if ($memhelp =~ /-U/) { | 106 if ($memhelp =~ /-U/) { |
107 # UDP port is on by default in memcached 1.2.7+ | 107 # UDP port is on by default in memcached 1.2.7+ |
108 push @memopts, '-U', '0'; | 108 push @memopts, '-U', '0'; |
109 } | 109 } |
110 | 110 |
111 $t->run_daemon('memcached', '-l', '127.0.0.1', '-p', '8081', @memopts); | 111 $t->run_daemon('memcached', '-l', '127.0.0.1', '-p', port(1), @memopts); |
112 $t->run_daemon('memcached', '-l', '127.0.0.1', '-p', '8082', @memopts); | 112 $t->run_daemon('memcached', '-l', '127.0.0.1', '-p', port(2), @memopts); |
113 $t->run_daemon('memcached', '-l', '127.0.0.1', '-p', '8083', @memopts); | 113 $t->run_daemon('memcached', '-l', '127.0.0.1', '-p', port(3), @memopts); |
114 $t->run(); | 114 $t->run(); |
115 | 115 |
116 $t->waitforsocket('127.0.0.1:8081') or die "Can't start memcached"; | 116 $t->waitforsocket('127.0.0.1:' . port(1)) or die "Can't start memcached"; |
117 $t->waitforsocket('127.0.0.1:8082') or die "Can't start memcached"; | 117 $t->waitforsocket('127.0.0.1:' . port(2)) or die "Can't start memcached"; |
118 $t->waitforsocket('127.0.0.1:8083') or die "Can't start memcached"; | 118 $t->waitforsocket('127.0.0.1:' . port(3)) or die "Can't start memcached"; |
119 | 119 |
120 ############################################################################### | 120 ############################################################################### |
121 | 121 |
122 my $memd1 = Cache::Memcached->new(servers => [ '127.0.0.1:8081' ], | 122 my $memd1 = Cache::Memcached->new(servers => [ '127.0.0.1:' . port(1) ], |
123 connect_timeout => 1.0); | 123 connect_timeout => 1.0); |
124 my $memd2 = Cache::Memcached->new(servers => [ '127.0.0.1:8082' ], | 124 my $memd2 = Cache::Memcached->new(servers => [ '127.0.0.1:' . port(2) ], |
125 connect_timeout => 1.0); | 125 connect_timeout => 1.0); |
126 my $memd3 = Cache::Memcached->new(servers => [ '127.0.0.1:8083' ], | 126 my $memd3 = Cache::Memcached->new(servers => [ '127.0.0.1:' . port(3) ], |
127 connect_timeout => 1.0); | 127 connect_timeout => 1.0); |
128 | 128 |
129 for my $i (1 .. 20) { | 129 for my $i (1 .. 20) { |
130 $memd1->set($i, '8081') or die "can't put value into memcached: $!"; | 130 $memd1->set($i, port(1)) or die "can't put value into memcached: $!"; |
131 $memd2->set($i, '8082') or die "can't put value into memcached: $!"; | 131 $memd2->set($i, port(2)) or die "can't put value into memcached: $!"; |
132 $memd3->set($i, '8083') or die "can't put value into memcached: $!"; | 132 $memd3->set($i, port(3)) or die "can't put value into memcached: $!"; |
133 } | 133 } |
134 | 134 |
135 my $memd = new Cache::Memcached(servers => | 135 my $memd = new Cache::Memcached(servers => [ |
136 [ '127.0.0.1:8081', '127.0.0.1:8082', '127.0.0.1:8083' ]); | 136 '127.0.0.1:' . port(1), |
137 '127.0.0.1:' . port(2), | |
138 '127.0.0.1:' . port(3) ]); | |
137 | 139 |
138 is_deeply(ngx('/'), mem($memd), 'cache::memcached'); | 140 is_deeply(ngx('/'), mem($memd), 'cache::memcached'); |
139 | 141 |
140 $memd = new Cache::Memcached::Fast({ ketama_points => 160, servers => | 142 $memd = new Cache::Memcached::Fast({ ketama_points => 160, servers => [ |
141 [ '127.0.0.1:8081', '127.0.0.1:8082', '127.0.0.1:8083'] }); | 143 '127.0.0.1:' . port(1), |
144 '127.0.0.1:' . port(2), | |
145 '127.0.0.1:' . port(3)] }); | |
142 | 146 |
143 TODO: { | 147 TODO: { |
144 local $TODO = 'not yet' unless $Config{byteorder} =~ '1234' | 148 local $TODO = 'not yet' unless $Config{byteorder} =~ '1234' |
145 or $t->has_version('1.9.1'); | 149 or $t->has_version('1.9.1'); |
146 | 150 |
147 is_deeply(ngx('/c'), mem($memd), 'cache::memcached::fast'); | 151 is_deeply(ngx('/c'), mem($memd), 'cache::memcached::fast'); |
148 | 152 |
149 } | 153 } |
150 | 154 |
151 $memd = new Cache::Memcached(servers => [ | 155 $memd = new Cache::Memcached(servers => [ |
152 [ '127.0.0.1:8081', 2 ], | 156 [ '127.0.0.1:' . port(1), 2 ], |
153 [ '127.0.0.1:8082', 3 ], | 157 [ '127.0.0.1:' . port(2), 3 ], |
154 [ '127.0.0.1:8083', 1 ]]); | 158 [ '127.0.0.1:' . port(3), 1 ]]); |
155 | 159 |
156 is_deeply(ngx('/w'), mem($memd), 'cache::memcached weight'); | 160 is_deeply(ngx('/w'), mem($memd), 'cache::memcached weight'); |
157 | 161 |
158 $memd = new Cache::Memcached::Fast({ ketama_points => 160, servers => [ | 162 $memd = new Cache::Memcached::Fast({ ketama_points => 160, servers => [ |
159 { address => '127.0.0.1:8081', weight => 2 }, | 163 { address => '127.0.0.1:' . port(1), weight => 2 }, |
160 { address => '127.0.0.1:8082', weight => 3 }, | 164 { address => '127.0.0.1:' . port(2), weight => 3 }, |
161 { address => '127.0.0.1:8083', weight => 1 }] }); | 165 { address => '127.0.0.1:' . port(3), weight => 1 }] }); |
162 | 166 |
163 TODO: { | 167 TODO: { |
164 local $TODO = 'not yet' unless $Config{byteorder} =~ '1234' | 168 local $TODO = 'not yet' unless $Config{byteorder} =~ '1234' |
165 or $t->has_version('1.9.1'); | 169 or $t->has_version('1.9.1'); |
166 | 170 |