Xserve 上の Apache の帯域幅を調整する (Mac OSX Server 10.5.8)

Xserve 上の Apache の帯域幅を調整する (Mac OSX Server 10.5.8)

Xserve(Apache 2を実行)の帯域幅を制限するための解決策を持っている人はいるでしょうか。mod_bw(http://ivn.cl/category/apache/#帯域幅) を使用していますが、問題が発生しています。apxs を使用して正しいモジュールをビルドできますが、Apache を再起動しようとすると問題が発生します (mod_bw.so が間違ったアーキテクチャ用にコンパイルされているというメッセージが表示されます)。

ありがとう。

答え1

ファイアウォールのダミーネット機能を使用して帯域幅の調整を行うことができます(手順はMac OS X のヒントそしてAFP548ただし、これらは TCP ポート番号にのみ関連付けられているため、異なる仮想ホスト、クライアント接続などを区別することはできません。

おそらく、アーキテクチャの不一致を修正したほうがよいでしょう。実行してfile /usr/libexec/apache2/mod_bw.so、モジュールがどのアーキテクチャ用にビルドされたか、およびfile /usr/sbin/httpdhttpd が何用にビルドされたかを確認します (10.6 では、X86_64、i386、および ppc のはずです)。モジュールがどのアーキテクチャ用にビルドされたかを制御するには、コンパイラとリンカーに渡す -arch フラグを追加するだけでよいと思います。例:

apxs -Wc,"-arch x86_64" -Wc,"-arch i386" -Wc,"-arch ppc" -Wl,"-arch x86_64" -Wl,"-arch i386" -Wl,"-arch ppc" ...

おそらく、httpd がコンパイルされているアーキテクチャと一致させるのが最善ですが、実際に実行されているモードを含めることだけが必要です。これを確認するには、アクティビティ モニターで確認できます。

関連情報