Спецификация виртуальной площадки
Материал из DiPHOST.Ru wiki system
Содержание |
Веб-сервер
Запрос из сети общего пользования к сайту сначала обрабатывается веб-сервером nginx в режиме проксирования к веб-серверу клиента без кэширования. Предполагается, что веб-сервер используется для отдачи так называемого "сайта". Возможно использование веб-сервера и для других целей, но только в случае отсутствия негативного влияния на состояние системы.
Веб-сервер nginx имеет следующие технические ограничения:
- размер заголовка запроса - 8Kb
- размер тела запроса (закачиваемого файла) - 10Mb
- ожидание заголовка запроса - 10 минут
- ожидание тела запроса - 60 минут
- ожидание соединения с веб-сервером клиента 5 минут
- ожидание ответа от веб-сервера клиента 5 минут
Ограничения могут быть индивидуально изменены для каждого сайта по мотивированному запросу в службу поддержки.
Веб-сервер клиента представляет собой apache с подключённой желаемой технологией. Для каждой технологии каждой версии свой экземпляр веб-сервера, работающего с привилегиями системного пользователя, соответствующего аккаунту. Количество одновременных обработчиков запросов каждого экземпляра веб-сервера технически жёстко ограничено и зависит от тарифа и технологии:
- TINCO, apache с php всех версий - 1 процесс обработчика
- PARMA, apache с php всех версий - 3 процесса обработчика
- PARMA, apache с python/WSGI - 1 процесс обработчика
- CALMA, apache с php всех версий - 3 процесса обработчика
- CALMA, apache с python/WSGI всех версий - 2 процесса по 3 треда обработчика
При занятости веб-сервера обработкой других запросов, новый ставится в очередь, размер очереди - 50 запросов. Если очередь запросов заполнена, новый запрос отклоняется.
Для веб-серверов с python/WSGI существует параметр, отвечающий за выгрузку приложения при отсутствии обращений. Он установлен в 5 минут. При новом обращении приложение вновь загружается.
Для веб-серверов apache с php всех версий поддерживается запуск CGI-программ. Для них существуют отдельные технические ограничения, равные для любого тарифа:
- перед запуском CGI-программы проверяется ограничение на 32 одновременно запущенных процесса от пользователя
- размер виртуальной памяти для одной выполняемой программы 96Mb
- суммарное процессорное время для одной выполняемой программы 32 процессорных секунды
При превышении ограничения программа останавливается и выдаётся сообщение об ошибке.
Системный аккаунт
Системный аккаунт предназначен для выполнения программ пользователя, так или иначе обеспечивающих работу сайта. Возможно и иное использование системного аккаунта, если это не создаёт негативного влияния на систему.
Для запущенных программ существуют следующие технические ограничения:
- размер виртуальной памяти на один процесс 512Mb
- размер сегмента данных на один процесс 64Mb
- размер стека на один процесс 16Mb
- размер блокированной памяти на один процесс 16Mb
- суммарное процессорное время для одного процесса 120 процессорных секунд
- количество одновременно запущенных процессов на один системный аккаунт - 32
При превышении ограничения программа останавливается и выдаётся сообщение об ошибке.
Для системного аккаунта регламентируются нормы потребления резидентной памяти в сумме по всем его процессам. Для подсчёта суммы выделенной памяти берётся среднее значение по мгновенным периодическам снимкам показаний по потреблению памяти процессами. Регламентируемые нормы не имеют технического ограничения и являются рекомендациями:
- тариф TINCO 64Mb
- тариф CALMA и PARMA 128Mb
Доступ FTP
Доступ по FTP предназначен исключительно для обновления информации на аккаунте. Не допускается его использования для массового доступа к информации. Для доступа только к определённым каталогам аккаунта возможно создание отдельного дсотупа. Технически это отдельный системный пользователь с uid и привилегиями, совпадающими с основным системным пользователем аккаунта.
Для доступа по FTP существуют следующие технические ограничения:
- 10 одновременных соединений с одного IP
- 5 одновременных соединений одного системного пользователя
FTP является нерекомендуемым способом работы с данными на хостинге.
Доступ SSH
Доступ по SSH предназначен для обновления информации на системном аккаунте и эффективной работы с системным аккаунтом. SSH может использоваться для туннелирования, связанного с аварийными работами с сайтом, или с обновлением сайта. Возможны и иные использования SSH, если это не создаёт негативного влияния на систему.
Доступ по SSH не имеет отдельных ограничений, для него работают ограничения системного аккаунта.