powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Apache Stomp: слишком медленная работа
17 сообщений из 42, страница 2 из 2
Apache Stomp: слишком медленная работа
    #39367714
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да что уж там в 10, было 10.000 мс, стало 600.
...
Рейтинг: 0 / 0
Apache Stomp: слишком медленная работа
    #39367766
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettЗавернул все через BufferedInputStream, общая скорость возросла в 10 раз.
Блин. Который раз считаю что такие банальные вещи можно даже не спрашивать и уже не первый раз ошибаюсь. Хотел же спросить не по одному ли вы байту читаете. Но, вроде, вы опытный разработчик. Не должны такой ерунды делать.

И протокол у вас не много странный. 0 же по доке валидное значение? Или это у вас данные так разделяются?
...
Рейтинг: 0 / 0
Apache Stomp: слишком медленная работа
    #39367773
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettДа что уж там в 10, было 10.000 мс, стало 600.
а какие есть в Java профилировщики, которые выдают время работы
public Object unmarshal(DataInput in) throws IOException {
как функции, так и объекта.
Ведь вы бы увидели:
автор было 10.000 мс, стало 600.
?
...
Рейтинг: 0 / 0
Apache Stomp: слишком медленная работа
    #39367776
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да была бы это моя либа.

[group: 'org.apache.activemq', name: 'activemq-all', version: '5.11.+'],

Вроде как источник весьма почетный. Аналогично и думал, что не могут они там "фигни написать". Потом уже стал глубже разбираться.
...
Рейтинг: 0 / 0
Apache Stomp: слишком медленная работа
    #39367781
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123HettДа что уж там в 10, было 10.000 мс, стало 600.
а какие есть в Java профилировщики, которые выдают время работы
public Object unmarshal(DataInput in) throws IOException {
как функции, так и объекта.
Ведь вы бы увидели:
автор было 10.000 мс, стало 600.
?

Это я уже не профилировщиком смотрел, а у себя в приложении написал небольшой кусочек, который "засекал" за сколько времени проходит 10к фреймов.
...
Рейтинг: 0 / 0
Apache Stomp: слишком медленная работа
    #39367786
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторИ протокол у вас не много странный. 0 же по доке валидное значение? Или это у вас данные так разделяются?
И да, это тоже все из org.apache.activemq, но работает без нареканий.
...
Рейтинг: 0 / 0
Apache Stomp: слишком медленная работа
    #39367789
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

Это в ActiveMQ баг такой? А где именно? Потому как это какая-то жесть реальная. Как такое могло в продашн попасть.
...
Рейтинг: 0 / 0
Apache Stomp: слишком медленная работа
    #39367791
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczHett,

Это в ActiveMQ баг такой? А где именно? Потому как это какая-то жесть реальная. Как такое могло в продашн попасть.

Строка 107 примерно.
http://activemq.apache.org/maven/apidocs/src-html/org/apache/activemq/transport/stomp/StompWireFormat.html
...
Рейтинг: 0 / 0
Apache Stomp: слишком медленная работа
    #39367793
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

Ааа, это тот самый StompConnection.receive()
...
Рейтинг: 0 / 0
Apache Stomp: слишком медленная работа
    #39367798
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Причем после того, как я скопировал один класс либы себе src (не спрашивайте зачем)
К моему удивлению JProfiler стал более точно показывать где проблема.
(Это скрин еще до решения проблемы)
...
Рейтинг: 0 / 0
Apache Stomp: слишком медленная работа
    #39367801
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

А если вы таки и отправляете и получаете, то почему content-length потерялся?
...
Рейтинг: 0 / 0
Apache Stomp: слишком медленная работа
    #39367802
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас, кстати, вот так выглядит картина (узкое место примерно там же, но скорость работы самого приложения в дюжину раз больше). Возможно еще что-то можно оптимизировать, но пока и так хватит.
...
Рейтинг: 0 / 0
Apache Stomp: слишком медленная работа
    #39367807
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczHett,

А если вы таки и отправляете и получаете, то почему content-length потерялся?

гмм, я вообще предполагал, что этот заголовок сам AMQ ставит.
...
Рейтинг: 0 / 0
Apache Stomp: слишком медленная работа
    #39367963
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettBlazkowiczHett,

А если вы таки и отправляете и получаете, то почему content-length потерялся?

гмм, я вообще предполагал, что этот заголовок сам AMQ ставит.
Да, похоже, там эта Stomp интеграция кривая и примитивная целиком и полностью.
...
Рейтинг: 0 / 0
Apache Stomp: слишком медленная работа
    #39368127
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да как-то странно, если клиент может управлять такими вещами, то тут надо учитывать, что клиенту доверять нельзя. Отправит заголовок, что у него пакет больше, чем есть, в итоге консумер вычитает кучу пакетов.
...
Рейтинг: 0 / 0
Apache Stomp: слишком медленная работа
    #39368219
Фотография fixxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что бы вместо

Код: java
1.
2.
3.
4.
stompConnection.open(
                        Properties.getInstance().getProperty("stomp_server_host"),
                        Integer.parseInt(Properties.getInstance().getProperty("stomp_server_port"))
                );



не написать

Код: java
1.
2.
3.
4.
5.
6.
Soket socket = new Socket(
                        Properties.getInstance().getProperty("stomp_server_host"),
                        Integer.parseInt(Properties.getInstance().getProperty("stomp_server_port"))
                );
socket.setReceiveBufferSize(DESIRED_BUFFER_SIZE);
stompConnection.open(socket);


?
...
Рейтинг: 0 / 0
Apache Stomp: слишком медленная работа
    #39368271
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробовал, эффекта не дало, ставил 4096 и 4096*1024
...
Рейтинг: 0 / 0
17 сообщений из 42, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Apache Stomp: слишком медленная работа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]