Bandbreitendrosselung für Apache auf einem Xserve (Mac OSX Server 10.5.8)

Bandbreitendrosselung für Apache auf einem Xserve (Mac OSX Server 10.5.8)

Ich habe mich gefragt, ob jemand eine Lösung hat, um die Bandbreite auf einem Xserve (mit Apache 2) zu drosseln. Ich versuche, mod_bw zu verwenden (http://ivn.cl/category/apache/#bandwidth), aber ich habe Probleme. Ich kann das richtige Modul mit apxs erstellen, aber ich habe Probleme, wenn ich versuche, Apache neu zu starten (es heißt, dass mod_bw.so für die falsche Architektur kompiliert wurde).

Danke.

Antwort1

Sie können die Bandbreitenbeschränkung mithilfe der Dummynet-Funktion der Firewall vornehmen (Anweisungen unterHinweise zu Mac OS XUndAFP548, da diese jedoch nur an TCP-Portnummern gebunden sind, können sie nicht zwischen verschiedenen virtuellen Hosts, Clientverbindungen usw. unterscheiden.

Sie sind wahrscheinlich besser dran, wenn Sie die Architektur-Fehlanpassung beheben. Führen Sie es aus, file /usr/libexec/apache2/mod_bw.soum zu sehen, für welche Architektur(en) das Modul erstellt wurde und file /usr/sbin/httpdfür was httpd erstellt wurde (unter 10.6 sollte es X86_64, i386 und ppc sein). Um zu steuern, für welche Architektur(en) das Modul erstellt wurde, können Sie meiner Meinung nach einfach -arch-Flags hinzufügen, die an den Compiler und Linker übergeben werden, z. B.

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

Es ist wahrscheinlich am besten, die Architekturen anzupassen, für die httpd kompiliert ist. Wirklich notwendig ist es aber nur, den Modus einzubeziehen, in dem es tatsächlich ausgeführt wird. Um dies herauszufinden, können Sie es im Aktivitätsmonitor anzeigen.

verwandte Informationen