Что такое weblogic.socket. Muxer?

Я не уверен, что понимаю вас, но для запроса исходного кода ваших триггеров, процедур, пакетов и функций вы можете попробовать использовать таблицу user_source.

select * from user_source
12
задан Pascal Thivent 26 October 2009 в 11:43
поделиться

3 ответа

Из документации ( http://download.oracle.com/docs/cd/E13222_01/wls/docs100/perform/WLSTuning.html#wp1152246 ):

WebLogic Server использует программные модули. называется мультиплексорами для чтения входящих запросы на сервере и входящие отзывы о клиенте. Эти мультиплексоры бывают двух основных типов: Java мультиплексор или собственный мультиплексор.

В мультиплексоре Java есть следующие характеристики:

  • Использует чистую Java для чтения данных из сокетов.
  • Это также единственный мультиплексор, доступный для клиентов RMI.
  • Блокирует чтение до тех пор, пока не появятся данные для чтения из сокета. Такое поведение плохо масштабируется при большом количестве сокетов и / или когда данные поступают нечасто. у розеток. Обычно это не проблема для клиентов, но может создать огромное узкое место для сервера.

Собственные мультиплексоры используют платформенно-зависимые собственные двоичные файлы для чтения данных из Розетки. Большинство всех платформ предоставить некоторый механизм для опроса сокет для данных. Например, Unix системы используют систему опроса и Архитектура Windows использует завершение порты. Родные обеспечивают превосходный масштабируемость, потому что они реализуют неблокирующая модель потока. Когда используется собственный мультиплексор, сервер создает фиксированное количество потоков посвященный чтению входящих Запросы. BEA рекомендует использовать значение по умолчанию выбрано для Включить параметр Native IO , который позволяет серверу автоматически выбирает соответствующий мультиплексор для сервер для использования.

Если параметр Включить собственный ввод-вывод установлен не выбран, экземпляр сервера использует исключительно мультиплексор Java. Эта может быть приемлемо, если есть небольшой количество клиентов и ставка на какие запросы поступают на сервер довольно высокий. В этих условиях мультиплексор Java работает так же, как собственный мультиплексор и исключить Java Native Накладные расходы интерфейса (JNI). В отличие от собственные мультиплексоры, количество потоков используется для чтения запросов не фиксируется и настраивается для мультиплексоров Java с помощью настройка считывателей сокетов настройка параметров в Консоль администрирования. См. Изменение Количество доступных розеток Читатели . В идеале вам следует настроить этот параметр, поэтому количество потоков примерно равно количеству удаленные одновременно подключенные клиенты до 50% от общего пула потоков размер. Каждый поток ждет фиксированного количество времени для данных, чтобы стать имеется в розетке. Если нет данных приходит, поток переходит к следующему socket.

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

Здесь похоже, что вы используете собственный мультиплексор по умолчанию ( weblogic.socket.EPollSocketMuxer ), а не мультиплексор Java ( weblogic.socket.SocketMuxer) .

9
ответ дан 2 December 2019 в 07:22
поделиться

Для любого сервера приложений дамп потока покажет вам сотни, если не тысячи, фоновых потоков. Эти серверы представляют собой сложные звери, и эти потоки - всего лишь фоновый канал, выполняющий свою работу.

«Мультиплексор» - это мультиплексор, который представляет собой механизм для объединения нескольких потоков данных в один канал. Weblogic будет использовать их для обмена данными между собой или с другими узлами в кластере. В любой момент некоторые из них будут «заблокированы», поскольку им нечего делать.

Это почти наверняка не повод для беспокойства. Если вы заглянете под камень, то обязательно найдете несколько уродливых вещей, мигающих на вас на солнце.

5
ответ дан 2 December 2019 в 07:22
поделиться

Я нашел эту ссылку , которая в значительной степени объясняет ситуацию:

Сокет Muxer управляет сервером существующие сокетные соединения. Это первое определяет, какие сокеты имеют входящие запросы, ожидающие обработки. Это затем читает достаточно данных, чтобы определить протокол и отправляет сокет на соответствующий уровень времени выполнения на основе по протоколу. На уровне времени выполнения потоки мультиплексора сокета определяют которые выполняют очередь потоков, которая будет использоваться и делегирует запрос соответственно.

7
ответ дан 2 December 2019 в 07:22
поделиться
Другие вопросы по тегам:

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