Всем привет! Если не туда запостил, больно не пинайте, а переместите, куда надо)
Уважаемые гуру, очень нужна ваша помощь! Недавно столкнулся с такой проблемой.
Многие, наверно, знают скрипт php Rapid Get Pro (который Vincoma). У меня есть 2 виртуальных серва, один (ВПС) на дебиан 3.1, второй (ВДС) на дебиан 4.0. На обоих стоят стандартные (бинарники с апта) апач2.2.3 билд от 17 июня 07 и пхп5.
На первом хосте, который Sarge, никаких проблем. Скачка-закачка идет 500-2500кбайт на поток, несколькими потоками свободно забиваются все 100Мбит канала. На втором же при скачивании НА сервер суммарная скорость не превышает 2Мбайт, при этом если запускать больше конкурирующих закачек, скорость каждой из них падает, а суммарная остается без изменений (пробовал с разных сервов) wget'ом тянет отлично, так что каналы в поряде. Однако, если заливать С сервера, проблемы чудесным образом исчезают, и несколькими потоками запросто удается утилизировать весь канал. Это совсем меня сбило с толку...
Пробовал собирать апач и пхп руками из тарболов - результат тот же. Тестил дома на vmware (Дебиан 4.0) (качал файлы с локального сервера на физической машине на серв в виртуалке) - результат тот же. Настройки пхп и апача такие же как и на первом сервере, пробовал оставлять по дефолту - без толку.
Качал по хттп, по фтп (опять же сокетами) удалось разогнать до суммарных ~4Мб, где, уже не помню, толи на серве, толи дома.
Вспомнил про валяющийся на харде *.iso Юбунту 6 сервер. Поставил с комплектным лампом. Скорость на поток стала вообще 100-150кбайт. Почему, я понять не могу.
Кто нибудь знает, от чего зависит скорость передачи по пхпшным сокетам? С вгетом никаких проблем, исходящий поток тоже без проблем, а с входом такая чертовщина... Ведь с точки зрения системы сокет он и есть сокет, никакой разницы быть не должно... Короч, я в полном ступоре, может я чего не знаю/не понимаю?
И еще, от чего зависит количество параллельных скачек, которое получается запустить? Обычно запускается 4-7, далее висит пустое окно с ожиданием вывода пока не закончится хоть одна закачка (стоит игнор юзер аборт). Причем в лисе больше 2 не запускалось, в опере - 4-7. Момент тоже мне не понятный. В скрипте никаких ограничений нет. Очень надеюсь на вашу помощь, особенно по первой части поста.
Не понятное поведение пхп... (проблемы с сокетами)
Модераторы: SLEDopit, Модераторы разделов
-
Ins_x86
- Сообщения: 3
Re: Не понятное поведение пхп...
Забыл добавить, в скрипте есть функция регулирования нагрузки на процессор, вставляющая ожидание в n микросекунд каждые m тактов процессора. В некоторых пределах позволяет управлять скоростью потока. Но ни длительность микросекунды, ни частота моего процессора не изменились, скорость же потока упала на юбунту в 4-5 раз. Почему - опять не понятно. Тока сейчас про эту ф-ю вспомнил, попробовал отключить вовсе на проблемном серве. Скорость потока подскочила до 1500-2000, против старых не более 1000 (загрузка процессора следом почти до 100))), но в сумме при нескольких потоках - скорость та же, не более 2000.
З.Ы. Тут упирается не в процессор, при включенной ф-ии (слип на 1мкс каждые 10 тактов) загрузка не превышала 2-3% на процесс при скорости 500-800.
-
diesel
- Бывший модератор
- Сообщения: 5989
- ОС: OS X, openSuSE, ROSA, Debian
Re: Не понятное поведение пхп...
это точно не в вопросы новичка. ближе к администрированию, туда и переношу.