perl_set $random_id &#39;sub { int(rand(2)); }&#39;;<br><br><div class="gmail_quote">30 ноября 2009 г. 16:30 пользователь Олег Петрачёв <span dir="ltr">&lt;<a href="mailto:cronfy@gmail.com">cronfy@gmail.com</a>&gt;</span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">&gt; Есть сервер со статическим контентом, на котором несколько жёстких дисков  с одинаковым содержимым, т.е. их содержимое полностью идентично (синхронизируется специальной программой). И мне нужно сбалансировать нагрузку на оба эти диска, чтобы нагрузка была равномерной.<br>

</div><div class="im">&gt; Можно ли как-то это упростить, чтобы не было внутренних proxy запросов, т.к. они всё равно тут лишние, а сделать что-то наподобие этого<br>
&gt; server {<br>
&gt;        listen       80;<br>
&gt;        server_name  <a href="http://img.my_site.com" target="_blank">img.my_site.com</a>;<br>
&gt;<br>
&gt;        location / {<br>
&gt;                root /static/disk$random_value;<br>
&gt;                expires 8h;<br>
&gt;        }<br>
&gt;    }<br>
&gt;<br>
&gt; где $random_value при каждом запросе была принимала бы случайное значение, либо 1 либо 2.<br>
<br>
</div>Можно на встроенном перле написать функцию, которая будет возвращать<br>
random (или просто по очереди 1,2,1,2...), и подставлять её в root:<br>
<br>
perl_set $random_disk myPerl::getRandomDisk;<br>
...<br>
root /static/$random_disk/wwwdata/<br>
<font color="#888888"><br>
<br>
--<br>
// cronfy<br>
</font><div><div class="h5">_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://nginx.org/mailman/listinfo/nginx-ru</a><br>
</div></div></blockquote></div><br>