Сколько сокетных соединений веб-сервер может обработать?

Все остальные пункты здесь верны, но для вас также важно понимать, что self является неявным параметром для каждого метода Objective-C (objc_msgSend() передает его) и может быть записан, как любой другой параметр метода. (Запись в явные параметры, как правило, не одобряется, если только они не являются параметрами.)

Как правило, это делается только в методе -init по причинам, указанным другими. Это имеет какой-то эффект только потому, что self возвращается из метода и используется в присваивании id obj = [[NSObject alloc] init];. Это также влияет на неявное разрешение иваров, потому что, например, если myVar является иваром моего класса, то доступ к нему осуществляется через метод вызывает его неявное разрешение в self->myVar.

101
задан Todd 29 January 2016 в 05:50
поделиться

2 ответа

Обратите внимание, что HTTP обычно не держит TCP-соединения открытыми дольше, чем требуется для передачи страницы клиенту; и обычно пользователю требуется гораздо больше времени для чтения веб-страницы, чем для загрузки страницы ... пока пользователь просматривает страницу, он не добавляет никакой нагрузки на сервер.

Таким образом, количество людей, которые могут одновременно просматривать ваш веб-сайт, намного больше, чем количество TCP-соединений, которые он может одновременно обслуживать.

4
ответ дан 24 November 2019 в 04:43
поделиться

Это довольно сложный вопрос. Нет никаких реальных программных ограничений на количество активных подключений, которые может иметь машина, хотя некоторые ОС более ограничены, чем другие. Проблема становится одним из ресурсов. Например, предположим, что одна машина хочет поддерживать 64 000 одновременных подключений. Если сервер использует 1 МБ ОЗУ на соединение, ему потребуется 64 ГБ ОЗУ. Если каждому клиенту необходимо прочитать файл, нагрузка доступа к диску или массиву хранения становится намного больше, чем могут обрабатывать эти устройства.

54
ответ дан 24 November 2019 в 04:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: