Консультация по VDS либо доработка php скрипта
Есть так называемый mp3-поисковик. Скрипт покупной. Сайт ищет mp3 на сайте Вкoнтакте с возможностью скачивать эти mp3.
Посещаемость ~4000.
Хостинг - VDS (2.66 Ghz, 256 mb). С размещением на этом VDS пока не определился, смотрю насколько выдерживает нагрузку.
По заверениям хостеров настройки vds сейчас самые оптимальные (Апач как воркер). Рекомендации хостера - увеличивать память.
В данный момент сайт работает на этой конфигурации очень туго.
Всю память съедают процессы php.
Когда пользователь запускает скачивание mp3-песни - файл get.php запускает процесс php? который занимает 10-12 mb памяти, пока файл не скачается. Таких процессов сейчас в среднем 16-17 висит.
Вот что выдает top (сортировка по памяти)
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10614 www-data 20 0 299m 13m 1480 S 0.0 5.5 0:03.82 apache2
828 mysql 20 0 137m 12m 2044 S 0.0 5.3 1:22.91 mysqld
12429 www-data 20 0 164m 12m 6640 S 0.0 5.1 0:02.16 php
12479 www-data 20 0 164m 12m 6600 S 4.7 5.1 0:02.17 php
12473 www-data 20 0 164m 11m 6624 S 0.7 4.9 0:01.74 php
12080 www-data 20 0 164m 11m 6400 S 0.0 4.9 0:04.64 php
12259 www-data 20 0 164m 11m 6412 S 0.0 4.8 0:02.24 php
12641 www-data 20 0 163m 11m 6696 S 0.0 4.7 0:00.68 php
12386 www-data 20 0 163m 11m 6492 S 0.0 4.7 0:01.55 php
12471 www-data 20 0 163m 11m 6524 S 0.0 4.7 0:01.10 php
12081 www-data 20 0 164m 11m 6392 S 0.0 4.7 0:02.08 php
12677 www-data 20 0 163m 11m 6756 S 0.3 4.7 0:00.36 php
11629 www-data 20 0 164m 11m 6248 S 0.3 4.6 0:06.01 php
12385 www-data 20 0 163m 11m 6492 S 0.0 4.6 0:01.26 php
12472 www-data 20 0 163m 11m 6564 S 0.0 4.6 0:00.78 php
11093 www-data 20 0 164m 11m 6200 S 0.0 4.6 0:07.02 php
11751 www-data 20 0 164m 10m 6156 S 0.0 4.5 0:03.94 php
12795 www-data 20 0 163m 10m 6304 S 0.0 4.5 0:00.09 php
12603 www-data 20 0 290m 5172 1540 S 0.0 2.1 0:00.09 apache2
12735 www-data 20 0 282m 5168 1548 S 0.0 2.1 0:00.00 apache2
12570 www-data 20 0 354m 4856 1508 S 0.0 2.0 0:00.02 apache2
12707 www-data 20 0 289m 4232 1524 S 0.0 1.7 0:00.08 apache2
12767 www-data 20 0 289m 4204 1488 S 0.0 1.7 0:00.01 apache2
12643 www-data 20 0 193m 3788 1516 S 0.0 1.5 0:00.07 apache2
Вычитал в статье похожую проблему - http://dklab.ru/chicken/nablas/50.html (Проблема "медленных соединений")
Предложил хостеру установить nginx как reverse proxy над Apache, думал это решит проблему.
Вот ответ хостера:
"В даном случае - у Вас каждый процесс апача висит отдельно.
Получение файлов идёт непосредственно PHP без участия апача.
Апач сам по себе у Вас есть 6 кб - столько же будет есть nginx.
От того, что мы установим nginx - ровнм счетом ничего не изменится - у
Вас добавится + одно соединение."
Можно ли как-то избавиться от этих php процессов, занимающих всю память? Либо настройкой сервера, либо изменением php скрипта, не изменив функциональности скрипта (возможности скачивать).
Если возможно, то нужна либо консультация по настройке/настройка сервера, либо доработка php скрипта.
P.S. выяснилось, что вконтакте отдает уникальную ссылку на mp3 файл каждому ip адресу. Так, что скрипт в любом случае должен качать с вконтакте своим ip и параллельно отдавать пользователю.