Спецификация виртуальной площадки
Материал из DiPHOST.Ru wiki system
Schors (Обсуждение | вклад) (→Запуск задач по расписанию) |
Schors (Обсуждение | вклад) (→Отправка электронной почты) |
||
Строка 96: | Строка 96: | ||
=== Отправка электронной почты === | === Отправка электронной почты === | ||
+ | |||
+ | Отправка электронной почты с аккаунта предназначена для обратной связи с пользователями сайтов. Возможно и иное применение, если оно не оказывает негативного влияния на систему и не вызывает организационных и юридических проблем. Электронная почта может быть отправлена только с использованием стандартной утилиты sendmail или через [[AccessMail|авторизованное подключение к почтовому серверу хостинга]]. | ||
+ | |||
+ | |||
[[Category:Architecture]] | [[Category:Architecture]] |
Версия 13:54, 19 апреля 2012
Содержание |
Веб-сервер
Запрос из сети общего пользования к сайту сначала обрабатывается веб-сервером 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 не имеет отдельных ограничений, для него работают ограничения системного аккаунта.
Работа с базой данных MySQL
База MySQL данных предназначена для хранения данных сайта. Возможно и иное использование базы данных MySQL, если это не оказывает негативного влияния на систему.
Для работы с базой данных MySQL существует единственное техническое ограничение:
- 64 одновременных соединения для одного пользователя базы данных MySQL.
Регламентируются следующие нормы работы с базой данных:
- количество запросов в среднем за час на чтение данных должно быть в 4 раза больше количества запросов на их запись или изменение
- количество запросов к базе от одного пользователя не должно превышать 1 запроса в секунду в среднем за час
- использование запросов, явно или косвенно создающих временные таблицы должно иметь характер вынужденного исключения
- использование запросов, делающих выборку без использования индексов должно иметь характер вынужденного мотивированного исключения
- не рекомендуется хранение двоичных данных (например, картинок) в базе
- размер одной таблицы не должен превышать 2Gb
Нормы носят рекомендательный характер и применяются в случае возникновения явно выраженных негативных последствий для системы.
Запуск задач по расписанию
Запуск задач по расписанию служит для планирования управления сайтом. Допускается и иное использование, если это не оказывает негативного влияния на систему. На задачи, запускаемые по расписанию, накладываются технические ограничения и нормы системного аккаунта.
Не рекомендуется:
- запускать больше одной задачи в минуту для аккаунта
- запускать задачу в 00:00 часов (время Московское)
- запускать задачу путём обращения к скрипту сайта
Рекомендуется:
- проверять в программе, завершено ли выполнение предыдущего задания, например, используя утилиту lockf
Отправка электронной почты
Отправка электронной почты с аккаунта предназначена для обратной связи с пользователями сайтов. Возможно и иное применение, если оно не оказывает негативного влияния на систему и не вызывает организационных и юридических проблем. Электронная почта может быть отправлена только с использованием стандартной утилиты sendmail или через авторизованное подключение к почтовому серверу хостинга.