Спецификация виртуальной площадки
Материал из DiPHOST.Ru wiki system
Schors (Обсуждение | вклад) |
Schors (Обсуждение | вклад) (→Потребление процессорного времени) |
||
Строка 106: | Строка 106: | ||
=== Потребление процессорного времени === | === Потребление процессорного времени === | ||
- | + | Для каждого аккаунта собирается статистика потребления [CPUTime|Процессорного времени]. | |
=== Отправка электронной почты === | === Отправка электронной почты === |
Версия 13:12, 13 марта 2016
Содержание |
Веб-сервер
Запрос из сети общего пользования к сайту сначала обрабатывается веб-сервером nginx в режиме проксирования к веб-серверу клиента без кэширования. Предполагается, что веб-сервер используется для отдачи так называемого "сайта". Возможно использование веб-сервера и для других целей, но только в случае отсутствия негативного влияния на состояние системы.
Кодировка веб-сервера по умолчанию UTF-8
Веб-сервер nginx имеет следующие технические ограничения:
- размер заголовка запроса - 8Kb (по умолчанию), 16Kb или 32Kb
- размер тела запроса (закачиваемого файла) - 16Mb (по умолчанию) - 500Mb
- ожидание заголовка запроса - 10 минут
- ожидание тела запроса - 60 минут
- ожидание соединения с веб-сервером клиента 60 секунд
- ожидание ответа от веб-сервера клиента 5 минут
Ограничения могут быть индивидуально изменены для каждого сайта по мотивированному запросу в службу поддержки.
Веб-сервер клиента представляет собой выделенный apache с подключённой желаемой технологией. Для каждой технологии каждой версии свой экземпляр веб-сервера, работающего с привилегиями системного пользователя, соответствующего аккаунту. Количество обработчиков каждого веб-сервера является постоянным и зависит от выбранного тарифа и технологии:
- TINCO, apache с php каждой версии - 1 процесс обработчика
- PARMA, apache с php каждой версии - 3 процесса обработчика
- CALMA, apache с php каждой версии - 3 процесса обработчика
- CALMA, apache с python/WSGI каждой версии - 2 процесса по 3 треда обработчика приложения
- CALMA, apache с ruby/RACK каждой версии - 3 процесса обработчика приложения
При занятости веб-сервера обработкой других запросов, новый ставится в очередь, размер очереди - 50 запросов. Если очередь запросов заполнена, новый запрос отклоняется.
Для php всех версий установлен предел используемой памяти в 128Mb. Для кэша APC установлен сегмент разделяемой памяти в 128Mb.
Для веб-серверов с python/WSGI и ruby/RACK существует параметр, отвечающий за выгрузку приложения из памяти при отсутствии обращений. Он установлен в 5 минут. При новом обращении приложение вновь загружается.
Для веб-серверов apache с php всех версий поддерживается запуск CGI-программ. Для них существуют отдельные технические ограничения, равные для любого тарифа:
- перед запуском CGI-программы проверяется ограничение на 32 одновременно запущенных процесса от пользователя
- размер виртуальной памяти для одной выполняемой программы 96Mb
- суммарное процессорное время для одной выполняемой программы 32 процессорных секунды
При превышении ограничения программа останавливается и выдаётся сообщение об ошибке.
Системный аккаунт
Системный аккаунт предназначен для выполнения программ пользователя, так или иначе обеспечивающих работу сайта. Возможно и иное использование системного аккаунта, если это не создаёт негативного влияния на систему.
По умолчанию кодировка системного аккаунта UTF-8, язык en_US.UTF-8
Для запущенных программ существуют следующие технические ограничения:
- размер виртуальной памяти на один процесс 512Mb
- размер сегмента данных на один процесс 64Mb
- размер стека на один процесс 16Mb
- размер блокированной памяти на один процесс 16Mb
- суммарное процессорное время для одного процесса 120 процессорных секунд
- количество одновременно запущенных процессов на один системный аккаунт - 32
При превышении ограничения программа останавливается и выдаётся сообщение об ошибке.
Для системного аккаунта регламентируются нормы потребления резидентной памяти в сумме по всем его процессам. Для подсчёта суммы выделенной памяти берётся среднее значение по мгновенным периодическам снимкам показаний по потреблению памяти процессами. Регламентируемые нормы не имеют технического ограничения и носят рекомендательный характер:
- тариф TINCO 64Mb
- тариф CALMA и PARMA 256Mb
Доступ FTP
Доступ по FTP предназначен исключительно для обновления информации на аккаунте. Не допускается его использования для массового доступа к информации. Для доступа только к определённым каталогам аккаунта возможно создание отдельного дсотупа. Технически это отдельный системный пользователь с uid и привилегиями, совпадающими с основным системным пользователем аккаунта.
Для доступа по FTP существуют следующие технические ограничения:
- 10 одновременных соединений с одного IP
- 5 одновременных соединений одного системного пользователя
FTP является нерекомендуемым способом работы с данными на хостинге.
Доступ SSH
Доступ по SSH предназначен для обновления информации на системном аккаунте и эффективной работы с системным аккаунтом. SSH может использоваться для туннелирования, связанного с аварийными работами с сайтом, или с обновлением сайта. Возможны и иные использования SSH, если это не создаёт негативного влияния на систему.
Доступ по SSH не имеет отдельных ограничений, для него работают ограничения системного аккаунта.
Работа с базой данных MySQL
База MySQL данных предназначена для хранения данных сайта. Возможно и иное использование базы данных MySQL, если это не оказывает негативного влияния на систему.
Кодировка сервера и клиента по умолчанию UTF-8.
Для работы с базой данных MySQL существует единственное техническое ограничение:
- 64 одновременных соединения для одного пользователя базы данных MySQL;
- тело запроса не должно превышать 8Mb.
Регламентируются следующие нормы работы с базой данных:
- количество запросов в среднем за час на чтение данных должно быть в 4 раза больше количества запросов на их запись или изменение
- количество запросов к базе от одного пользователя не должно превышать 1 запроса в секунду в среднем за час
- использование запросов, явно или косвенно создающих временные таблицы должно иметь характер вынужденного исключения
- использование запросов, делающих выборку без использования индексов должно иметь характер вынужденного мотивированного исключения
- не рекомендуется хранение двоичных данных (например, картинок) в базе
- размер одной таблицы не должен превышать 2Gb
Нормы носят рекомендательный характер и применяются в случае возникновения явно выраженных негативных последствий для системы.
Запуск задач по расписанию
Запуск задач по расписанию служит для планирования управления сайтом. Допускается и иное использование, если это не оказывает негативного влияния на систему. На задачи, запускаемые по расписанию, накладываются технические ограничения и нормы системного аккаунта.
Не рекомендуется:
- запускать больше одной задачи в минуту для аккаунта
- запускать задачу в 00:00 часов (время Московское)
- запускать задачу путём обращения к скрипту сайта
Рекомендуется:
- проверять в программе, завершено ли выполнение предыдущего задания, например, используя утилиту lockf
Потребление процессорного времени
Для каждого аккаунта собирается статистика потребления [CPUTime|Процессорного времени].
Отправка электронной почты
Отправка электронной почты с аккаунта предназначена для обратной связи с пользователями сайтов. Возможно и иное применение, если оно не оказывает негативного влияния на систему и не вызывает организационных и юридических проблем. Электронная почта может быть отправлена только с использованием стандартной утилиты sendmail или через авторизованное подключение к почтовому серверу хостинга.
Отправка электронной почты имеет технические ограничения:
- запрещена отправка от отправителя <>
- запрещена отправка более чем 32 получателям в одном письме
- запрещена отправка сообщения размером более 50Mb
- запрещено добавление более чем одного поля Received
- запрещено представление десктопными почтовыми клиентами при отправке с сайта
- запрещена отправка вирусов (письмо будет молча уничтожено)
Письма не будут отправлены.
При отправке электронной почты запрещено:
- подделывать заголовки Received и X-Mail-Agent
- использовать несуществующий адрес в поле FROM конверта и/или тела письма
- рассылать сообщения рекламного характера, если нет уверенности, что на них подписывались
- нарушать стандарты (8-битные заголовки, и тому подобное)
При выявлении систематических нарушений будет отключаться возможность пользования отправкой почты.
Регламентируются рекомендательные нормы при отправке сообщений электронной почты:
- не более 1 сообщение в секунду
- размер письма не более 5Mb
Нормы носят рекомендательный характер и применяется при возникновении негативного влияния на систему. Рекомендуется заранее предполагать последовательную разнесённую по времени рассылку писем при большом количестве получателей.