Мне было интересно, есть ли у кого-нибудь решения для ограничения пропускной способности на Xserve (с Apache 2); Я пытаюсь использовать mod_bw (http://ivn.cl/category/apache/#bandwidth), но возникали проблемы. Я могу собрать правильный модуль, используя apxs, но у меня возникают проблемы, когда я пытаюсь перезапустить Apache (он говорит, что mod_bw.so скомпилирован для неправильной архитектуры).
Спасибо.
Вы можете регулировать полосу пропускания, используя функцию dummynet брандмауэра (инструкции на Подсказки для Mac OS X и AFP548, но поскольку они просто привязаны к номерам портов TCP, они не могут различать разные виртуальные хосты, клиентские соединения и т. д.
Возможно, вам лучше исправить несоответствие архитектуры. Бегать file /usr/libexec/apache2/mod_bw.so
чтобы узнать, для какой архитектуры (-ов) был построен модуль, и file /usr/sbin/httpd
чтобы узнать, для чего создан httpd (в версии 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, но действительно необходимо только включить тот режим, в котором он действительно работает; чтобы узнать это, вы можете просмотреть его в Activity Monitor.