Немного странная проблема здесь. Мы переносим сайт на новую программную платформу. В рамках этой миграции мы должны скопировать файлы из одной корзины Amazon S3 в другую. Есть сотни тысяч файлов.
Для этого мы также должны использовать имеющееся у нас программное обеспечение (phpFox). В основном php-фреймворк.
Задание разбивается на сегменты, которые мы вызываем, используя смещение в URL-адресе.
В основном: Скопируйте 10 файлов и обновите базу данных по мере необходимости. Увеличьте смещение на 10. Промойте, повторите.
Трафик API небольшой, нагрузка на сервер менее 1%, однако, если мы открываем более двух вкладок на какой-либо одной машине к серверу, скрипт начинает пропорционально тормозить, как будто веб-сервер (Apache) стоит в очереди команды вместо того, чтобы запускать их параллельно.
Мы обнаружили, что если мы открываем две вкладки на многих машинах, масштаб увеличивается, как и ожидалось. Чтобы либо насытить наш аплинк, либо дать сколько-нибудь ощутимую нагрузку на сервер, нам нужно заполнить комнату ноутбуками. Хотя это комично, это также очень непрактично и, как правило, заноза в заднице. Здесь должен быть лучший способ.
Я пытался увеличить максимальное количество резервных процессов и запросов на ребенка и т. д. и т. д. в 10 раз, и заметного увеличения скорости не было. Что нам не хватает? Как красиво сказать Apache, чтобы он временно позволял любому подключаться столько раз, сколько ему нужно, и сходить с ума?
PHP 5.3.8 PHP Sapi: apache2handler Загруженные расширения PHP: Core date ereg libxml openssl pcre sqlite3 zlib bcmath calendar ctype curl dom fileinfo filter ftp gd hash iconv SPL json mbstring mysql session standard posix Reflection Phar SimpleXML sockets SQLite imap tokenizer xml xmlreader xmlwriter zip apache2handler
MYSQL: сообщество MySQL 5.0.92
Спасибо за чтение!