2008-02-11から1日間の記事一覧

動的にPoundの動作を変更する

WEB

Poundは再起動なしに設定の再読み込みできないからApacheの方がイイ!。。。と思ってたけれど、サービスのenable/disableくらいは再起動なしにできることに気がついた。 poundctl Usage: ./poundctl -c /control/socket cmd where cmd is one of: -L n - ena…

Poundの振り分けアルゴリズム

Sessionディレクティブでバックエンドの振り分けルールを指定しないときのアルゴリズムが気になったので調べてみる。 svc.c 516行目あたり /* * Find the right back-end for a request */ BACKEND * get_backend(SERVICE *const svc, const struct in_addr …

Poundの振り分けアルゴリズム その2

DynScaleディレクティブを1にセットしておくと、動的に優先度を変えてくれるらしい。 svc.c 1034行目あたり /* * Rescale back-end priorities if needed * runs every 5 minutes */ static void do_rescale(void) { ... sq_average /= n; average /= n; sq_…

Poundの振り分けアルゴリズムをラウンドロビンに変更してみる

すごい適当なパッチ。 設定ファイルで制御するようにすればマシになるかも。 diff -up Pound-2.3.2.orig/config.c Pound-2.3.2/config.c --- Pound-2.3.2.orig/config.c 2007-05-18 17:34:53.000000000 +0900 +++ Pound-2.3.2/config.c 2008-02-11 13:40:41.…

PoundでProxyPassディレクティブみたいなことをやる

requestとheaders[0]を書き換えて「/」を「/local/」にディスパッチ。 つーか、置換やってくれる正規表現ライブラリが欲しいなぁ。 --- http.c.orig 2008-02-11 15:00:11.203125000 +0900 +++ http.c 2008-02-11 15:30:22.859375000 +0900 @@ -436,6 +436,17…