Помощь - Поиск - Пользователи - Календарь
Полная версия: Технические вопросы по поводу работы PHP и Apache
Онлайн-форум hostobzor.ru > Архив (темы до 1.06.2015). Только для чтения. > Коммерческий хостинг. Общие форумы > Общие вопросы
WebToiler
Здравствуйте! Хотелось бы узнать на счёт работы Apache и PHP. На всех хостингах, как и положено устанавливается ограничения на ресурсы PHP скриптов. В частности, меня интересуют время выполнения скрипта и выделяемое для него память.

1. Upload файла на сервер с формы на веб-странице (протокол HTTP).
a). При загрузке файл сначало закачивается сервером Apache во временную директорию, а потом передаёт управление над файлом нужному PHP скрипту. Так вот, ограничение ресурса типа "время работы PHP скрипта" - "это время перекачки файла сервером + обработка PHP скриптом" или же только работы PHP скрипта?
б). Таким вот методом невозможно перекачать файл размер которого превосходит размер выделенной памяти из ОЗУ?

2). Можно ли настроить сервер VPS (ISPmanager + Apache + FreeBSD) так чтобы работы PHP скрипта ограничивался не временем и ОЗУ, а уровнем нагрузки на процессор, типа чтобы было не более, к примеру 30% (от процессорного времени) ???
Roman Hirauka
max_execution_time в php.ini ограничивает *процессорное* время выполнения скрипта.
xaker1
Цитата(WebToiler @ 16.09.2009, 19:08) *

Здравствуйте! Хотелось бы узнать на счёт работы Apache и PHP. На всех хостингах, как и положено устанавливается ограничения на ресурсы PHP скриптов. В частности, меня интересуют время выполнения скрипта и выделяемое для него память.

1. Upload файла на сервер с формы на веб-странице (протокол HTTP).
a). При загрузке файл сначало закачивается сервером Apache во временную директорию, а потом передаёт управление над файлом нужному PHP скрипту. Так вот, ограничение ресурса типа "время работы PHP скрипта" - "это время перекачки файла сервером + обработка PHP скриптом" или же только работы PHP скрипта?

Только обработка php скриптом.
Цитата(WebToiler @ 16.09.2009, 19:08) *

б). Таким вот методом невозможно перекачать файл размер которого превосходит размер выделенной памяти из ОЗУ?

Нет.
Цитата(WebToiler @ 16.09.2009, 19:08) *

2). Можно ли настроить сервер VPS (ISPmanager + Apache + FreeBSD) так чтобы работы PHP скрипта ограничивался не временем и ОЗУ, а уровнем нагрузки на процессор, типа чтобы было не более, к примеру 30% (от процессорного времени) ???

Roman Hirauka ответил
WebToiler
Спасибо всем! А можно ли нехватку RAM на VDS избежать использованием своего SWAP на выделенной мне дисковой квоте? Будут ли туда поподать активные процессы?
Roman Hirauka
Цитата(WebToiler @ 16.09.2009, 19:37) *

Спасибо всем! А можно ли нехватку RAM на VDS избежать использованием своего SWAP на выделенной мне дисковой квоте? Будут ли туда поподать активные процессы?

Активные процессы в свопе не живут. Лечить - наращивать ОЗУ, иначе будете скучать...
WebToiler
Спасибо, буду так лечить =(.

Вопрос:
1) А при выдаче файла посредствам PHP, к примеру через функцию чтения файла и вывода через "echo" на браузер пользователя, сколько RAM тратится? Столько же сколько размер файла?
eSupport.org.ua
Нет конечно, тратиться в среднем 20-25mb на один php
WebToiler
Благодарю! А как устроено у болшьших файлообменных сайтов? Куда можно гигабайты загружать через веб-форму по HTTP, притом посетители насчитываются сотнями, а то и тысячами?

Пусть сервера у них будут мощные, но ОЗУ всёравно не unlimited, и одновременная закачка десятками посетителей больших файлов размерами, к примеру по 0,5-1ГБ, по протоколу HTTP потребует десятки, а то и сотни ГБ ОЗУ, но это думаю фантастика...

Как тут?
eSupport.org.ua
А у них кластерная структура и много серверов smile.gif
WebToiler
Спасибо!
А использование заместо PHP что нибудь на cgi "погоду сменит"? Я о ОЗУ при uploade
eSupport.org.ua
А смотря чего ты хочешь. В любом случае - грамотный сисадмин сможет настроить любой софт на минимальное потребление ресурсов
lazutov
Цитата(eSupport.org.ua @ 17.09.2009, 08:14) *
Нет конечно, тратиться в среднем 20-25mb на один php

из опыта: 10-18 на процесс. + отдача + размер отдаваемого блока + служебная информация + 20%, то есть, если не отдавать гигабайтами, не критично. Но если этих отдач будет стая, то серваку будет несладко, но непонятно во что упреться быстрее, в кол-во процессов и RAM или канал.

Самое простое для Вас, получить знания эмпирическим путем, начните отдавать файл со sleep(3) между кусками причем разного размера и посмотрите через htop, как будет прыгать юзадж.
Можете даже на коленке написать мониторинг, который будет контролировать записывать использование памяти.

CGI-ем с начальными знаниями вы загоните кол-во процессов в некоторые рамки, если это для вас выход, желаю удачи. PS Чтобы не плодить процессы вебсервера, желательно не апач, а что-то "чуть более монолитное".
Пусть вы потратите день, два, три, и не с первой попытки, а с десятой, но Вы научитесь гораздо быстрее, чем из умных и не очень книжек.
WebToiler
Благодарю!

так как CGI копирует сразу всё на HDD при Upload-e, то объём закачиваемого по HTTP (из формы) файла не ограничивается ОЗУ ???

P.S. Хочу определить в каком направлении кумекать...
lazutov
Я уже советовал, начать закачивать и посмотреть.

eSupport.org.ua
Смотрите в направлении горизонтально масштабируемого проекта
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2025 Invision Power Services, Inc.