|
|
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Есть служба, которая запускает несколько процессов, которым она будет передавать данные (объекты размером около 10кб). Обратно передавать ничего не надо. Для этого есть несколько технологий: 1. File Mapping 2. Named Pipes 3. WM_COPYDATA Передача данных будет высокоинтенсивная. Какая технология подойдет лучше по вашему мнению? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 09:48 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrb, ну ты просто попробуй все три, да сравни. ... Мэилслоты ещё, самый простой способ, имхо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 10:01 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
чччД, спасибо кэп ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 10:07 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
оконные сообщения самые медленные. так что 1 или 2 + можно по сети кидаться, в локалхосте это очень быстро происходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 10:20 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbЕсть служба, которая запускает несколько процессов, которым она будет передавать данные (объекты размером около 10кб). Обратно передавать ничего не надо. Для этого есть несколько технологий: 1. File Mapping 2. Named Pipes 3. WM_COPYDATA Передача данных будет высокоинтенсивная. Какая технология подойдет лучше по вашему мнению? MMF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 10:36 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbЕсть служба, которая запускает несколько процессов, которым она будет передавать данные (объекты размером около 10кб). Обратно передавать ничего не надо. Для этого есть несколько технологий: 1. File Mapping 2. Named Pipes 3. WM_COPYDATA Передача данных будет высокоинтенсивная. Какая технология подойдет лучше по вашему мнению? я бы TCP/IP использовал - удобно и универсально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 11:19 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Насчет MMF, я не тестил, но винт при моих объемах (сотни объектов в секунду по >10кб) может сдохнуть быстро. Или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 11:25 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Работает сервис 247. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 11:26 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbПередача данных будет высокоинтенсивная. Какая технология подойдет лучше по вашему мнению? Более принципиальный вопрос - как именно должны передаваться данные: а) непосредственно от процесса к процессу (2, 3) б) опосредованно через доп. буферы (1 и сокеты). В первом случае возникает проблема синхронизации готовности, второй может быть медленнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 11:32 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Соколинский Борис, в этом и вопрос как именно Я знаю, что нужно сервису передать блок памяти процессу , а что он будет с ним делать - до фонаря. сервис должен контролить процессы на живучесть, и их перезапускать по необходимости. Для общего понимания, я хочу потоки перевести на отдельные процессы, так как в рамках ОДНОГО процесса(службы), они со своей задачей не справляются, вот и стал вопрос в поиске буферов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 11:38 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrb, так не далеко и до разнесения по разным хостам как вариант, с заделом на будущее, использовать для передачи данных очереди сообщений, а контролировать живучесть сервисов и операционка может ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 11:42 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbЕсть служба, которая запускает несколько процессов, которым она будет передавать данные (объекты размером около 10кб). Обратно передавать ничего не надо. Для этого есть несколько технологий: 1. File Mapping 2. Named Pipes 3. WM_COPYDATA Передача данных будет высокоинтенсивная. Какая технология подойдет лучше по вашему мнению? Подойдет лучше по каким критериям? Приведен только один - высокая интенсивность. Он реально один или еще есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 11:43 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
ну я, ну и гарантия доставки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 11:46 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Дегтярев Евгений, а перезапускать их тоже ОС будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 11:47 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbОбратно передавать ничего не надо cptngrbну и гарантия доставки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 11:48 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
чччД, я имею ввиду технологию))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 11:50 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbСоколинский Борис, в этом и вопрос как именно Я знаю, что нужно сервису передать блок памяти процессу , а что он будет с ним делать - до фонаря. сервис должен контролить процессы на живучесть, и их перезапускать по необходимости. Для общего понимания, я хочу потоки перевести на отдельные процессы, так как в рамках ОДНОГО процесса(службы), они со своей задачей не справляются, вот и стал вопрос в поиске буферов Если скорость взаимодействия некритична, наверное MMF. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:00 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
У меня система видеонаблюдения, разрезана на несколько сервисов - собственно сервис приёма и обработки видеопотоков, сервис архивации видеопотоков, сервис веб-доступа к видеопотокам и архивам Как ты понимаешь, всё это высоконагруженное. Взаимодействие реализовано через TCP/IP посредством библиотеки RealThinClient Всё это спокойно летает на i5 на трёх десятках камер. Я даже не представляю, что у тебя там за данные сервисы обрабатывают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:07 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbну я, ну и гарантия доставки Опа. А где должна находиться точка определения гарантии доставки - в передатчике или в приемнике? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:09 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbДегтярев Евгений, а перезапускать их тоже ОС будет? почему нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:09 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbНасчет MMF, я не тестил, но винт при моих объемах (сотни объектов в секунду по >10кб) может сдохнуть быстро. Или нет?MMF это не только физические файлы частный случай - shared memory, вообще диск никак не трогает (ну если своп не учитывать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:11 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
defecatorЯ даже не представляю, что у тебя там за данные сервисы обрабатывают + хотелось бы больше контекста зы ТС, варианты оптимизаций существующего решения рассмотрены? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:11 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrb...нужно сервису передать блок памяти процессу , а что он будет с ним делать - до фонаря... ...ну и гарантия доставки... Так смешно. Корреспондент получил сообщение, и тебе до фонаря, что он там с нима делает? Ну, ладно. Пошли ему еще одно сообщение. Если он с первым еще ничего не успел сделать, сообщение чудесным образом встанет в чудесным образом появившуюся очередь. Пока очередь не заполнится. Ту придется либо ждать, когда очередь рассосется, либо прекратить передачу сообщений (отбрасывать их), других вараинтов нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:12 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
defecator, В итоге все уперлось в запись в БД Oracle. При работе с одним клиентом (одна oci.dll) и 50 потоками, она не успевает все укладывать. Решил попробовать, для теста, разнести на несколько клиентов запись в БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:19 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Дегтярев Евгений, не особо видны эти самые варианты оптимизации, может и есть другие способы. Просто пробую варианты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:25 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbdefecator, В итоге все уперлось в запись в БД Oracle. При работе с одним клиентом (одна oci.dll) и 50 потоками, она не успевает все укладывать. Решил попробовать, для теста, разнести на несколько клиентов запись в БД. у меня видеонаблюдение работает на OracleXE 11 Всё укладывается замечательно (индексы по видеопотоку, например). Но у меня каждый канал (одна камера) имеет собственный коннект к БД. Пока все они ломились через одно подключение, тоже была задница. Пришлось сделать одна камера - один коннект к БД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:25 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbdefecator, В итоге все уперлось в запись в БД Oracle. При работе с одним клиентом (одна oci.dll) и 50 потоками, она не успевает все укладывать. Решил попробовать, для теста, разнести на несколько клиентов запись в БД. Oracle - он быстрый. Оптимизировать нужно узкие места, вооружившись профилировщиком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:26 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
defecator, сижу на канале ~10ГБ/с и пакетики разбираю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:27 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbdefecator, сижу на канале ~10ГБ/с и пакетики разбираю Закон Яровой ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:29 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
schi, подскажите как оптимизировать TOracleQuery.SetVariable, который в одном потоке выполняется за 3сек, а если запустить 50 потоков, то иногда до 10мин? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:29 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbschi, подскажите как оптимизировать TOracleQuery.SetVariable, который в одном потоке выполняется за 3сек, а если запустить 50 потоков, то иногда до 10мин? Сделай несколько подключений, я же тебе уже сказал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:30 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
defecator, это как? если имеете ввиду сессий, то так оно и есть, а если использовать несколько несколько клиентов, то тут мне и нужны отдельные процессы и буферы между ними и основным приложением ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:35 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbdefecator, это как? если имеете ввиду сессий, то так оно и есть, а если использовать несколько несколько клиентов, то тут мне и нужны отдельные процессы и буферы между ними и основным приложением Один поток - одна сессия к Oracle. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:39 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
defecator, так и есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:41 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbdefecator, так и есть Если и сейчас тормозит, то ты делаешь что-то не так. Как уже посоветовали - ищи узкое место. P.S. А вообще, разбор пакетов в 10-тигигабитной сети делается другим железом и другим софтом. Это так, на заметку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:44 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
defecator, а какими компонентами ты пользуешься для записи в БД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:44 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbdefecator, а какими компонентами ты пользуешься для записи в БД? ODAC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:44 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Ты используешь используешь Direct Oracle Access (DOA) А они очень тормозные и не развиваются уже лет 10 минимум ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:49 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
defecator, почему? последний релиз с поддержкой токио был 31 марта прошлого года, если верить сайту разработчика . Я правда давно с DOA не работал, но когда работал, этой либе не требовался установленный клиент оракла компе пользователя программы. Это был большой плюс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 13:05 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
asutp2defecator, почему? последний релиз с поддержкой токио был 31 марта прошлого года, если верить сайту разработчика . Я правда давно с DOA не работал, но когда работал, этой либе не требовался установленный клиент оракла компе пользователя программы. Это был большой плюс. DOA в принципе не умеет работать без установленного клиента Oracle. Нет там такого функционала. Зато такой функционал есть в ODAC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 13:07 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
asutp2defecator, почему? последний релиз с поддержкой токио был 31 марта прошлого года, если верить сайту разработчика . там только поддерживают совместимость с очередными версиями дельфей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 13:08 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbschi, подскажите как оптимизировать TOracleQuery.SetVariable, который в одном потоке выполняется за 3сек, а если запустить 50 потоков, то иногда до 10мин? Не видя запроса, не видя базы, не видя ничего подсказать ? Это на форум гадалок, мой хрустальный шар давно сломался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 13:10 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
defecatorasutp2defecator, почему? последний релиз с поддержкой токио был 31 марта прошлого года, если верить сайту разработчика . Я правда давно с DOA не работал, но когда работал, этой либе не требовался установленный клиент оракла компе пользователя программы. Это был большой плюс. DOA в принципе не умеет работать без установленного клиента Oracle. Нет там такого функционала. Зато такой функционал есть в ODAC.вообще название Direct Oracle Access как бы намекает на принцип доступа к Oracle, не?)))) За нынешнюю версию DOA утверждать не берусь, но ранее прогу с DOA можно было запускать на чистой машине, без установленного клинта Oracle, и все отлично работало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 13:16 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
asutp2defecatorпропущено... DOA в принципе не умеет работать без установленного клиента Oracle. Нет там такого функционала. Зато такой функционал есть в ODAC.вообще название Direct Oracle Access как бы намекает на принцип доступа к Oracle, не?)))) Нет. Это говорит только о том, что доступ к БД идёт безо всяких лишних прослоек типа BDE asutp2За нынешнюю версию DOA утверждать не берусь, но ранее прогу с DOA можно было запускать на чистой машине, без установленного клинта Oracle, и все отлично работало. Поверь мне, в DOA никогда такого не было, от слова совсем. Я с ним с 2004-го года работал, и сейчас приходится. Другое дело, что у Oracle есть такой Instant Client, который не требует установки, достаточно скопировать файлы клиента в папку с EXE. но в любом случае DOA требует наличие клиента Оракла в том или ином виде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 13:21 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Даже на сайте DOA чётко написано, что наличие клиента Оракла - обязательное условие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 13:21 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrb, все уперлось в запись в бд, а как сама субд поживает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 13:22 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
defecator, ну так тому и быть) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 13:23 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
defecatorcptngrbdefecator, так и есть Если и сейчас тормозит, то ты делаешь что-то не так. Как уже посоветовали - ищи узкое место. P.S. А вообще, разбор пакетов в 10-тигигабитной сети делается другим железом и другим софтом. Это так, на заметку.+1 какой нафиг оракл при таком трафике ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 13:45 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
defecator, использую DOA + instantclient - в обычных оконных приложениях работает хорошо. Проблемы на x64 появились. FireDAC работает еще медленнее. Попробую на ODAC потестить, может быть не будет таких проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 16:00 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Дегтярев Евгений, СУБД прекрасно поживает. Запрос выполняется за 3-6 сек, а подготовка запроса (работа DOA) может доходить до 10 мин в пиковые нагрузки. Это сумашествие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 16:01 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbdefecator, использую DOA + instantclient - в обычных оконных приложениях работает хорошо. Проблемы на x64 появились. FireDAC работает еще медленнее. Попробую на ODAC потестить, может быть не будет таких проблем. Я бы посоветовал профилировщик, а не гадание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 16:01 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbДегтярев Евгений, СУБД прекрасно поживает. Запрос выполняется за 3-6 сек , а подготовка запроса (работа DOA) может доходить до 10 мин в пиковые нагрузки. Это сумашествие вот это вот, что я выделил, и есть самое большое сумасшествие особенно если у тея настолько нагруженная система, как ты пишешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 16:06 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
schi, профилировщик указывает на конкретную процедуру ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 16:40 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
defecator, кстати без OCI ODAC в моем случае работать не будет. Я передаю в качестве параметров 8 массивов по 150 000 элементов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 16:43 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrb, открой тайну, что за данные такие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 16:48 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Дегтярев Евгенийоткрой тайну, что за данные такие? иконки попиксельно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 17:14 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbdefecator, кстати без OCI ODAC в моем случае работать не будет. Я передаю в качестве параметров 8 массивов по 150 000 элементов ну что я могу сказать. ты не на своём месте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 21:12 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
defecator, ага ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 08:39 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
defecator, посмотрел не туда. при Direct mode нет поддержки PLSQL tables, а не ассоциативных массивов. Но не беда. При присвоении Variant массивов очень много памяти жрется, но это не точно, я с ODAC не работал, буду копаться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 09:23 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbdefecator, посмотрел не туда. при Direct mode нет поддержки PLSQL tables, а не ассоциативных массивов. Но не беда. При присвоении Variant массивов очень много памяти жрется, но это не точно, я с ODAC не работал, буду копаться Direct Mode в ODAC работает медленнее, чем работа через клиента оракла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 09:50 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbschi, профилировщик указывает на конкретную процедуру код процедуры то этой есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 09:54 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Дегтярев Евгений, Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. При инициализации Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. В Execute потока: try fStartNew:= GetTickCount; ods.SetVariable(0, obPack.m1); ods.SetVariable(1, obPack.m2); ods.SetVariable(2, obPack.m3); ods.SetVariable(3, obPack.m4); ods.SetVariable(4, obPack.m5); ods.SetVariable(5, obPack.m6); ods.SetVariable(6, obPack.m7); ods.SetVariable(7, obPack.m8); ods.SetVariable(8, obPack.cnt_pack); buf_set:= inttostr(GetTickCount - fStartNew); fStartNew:= GetTickCount; try EOracle:= 0; ods.Execute; err_Execute:= False; except on E: EOracleError do begin EOracle:= E.ErrorCode; end; on E: Exception do begin WriteLog(FormatDateTime('yyyy_mm_dd_hh:nn:ss', now)+' (!ОШИБКА) Модуль записи в БД. Выполнение запроса. Поток №'+inttostr(fnum)+' '+e.Message); err_Execute:= True; end; end; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 10:26 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
И что, профилировщик прямо на весь этот горький катаклизм указывает ? Не верю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 10:29 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
schi, на этот Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 10:35 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
если использовать ODAC Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. на методе Execute происходит прирост ОЗУ памяти с 1,5 ГБ до 3,8 и вылетает с ошибкой ORA-03113: end-of-file on communication это при Direct mode, при Client mode еще не пробовал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 11:04 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
8 массивов по 150к элементов - не хило так не пробовал передавать в запрос пачки по меньше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 11:14 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Дегтярев Евгений, пробовал, но не подходит, начинает копиться очередь, мне бы 500 000 поставить - лучше бы было другим потокам, но тогда вообще тормоза с DOA ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 11:20 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
постоянно такой поток или это на пиках? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 11:29 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Дегтярев Евгений, постоянно, на пиках больше в несколько раз, но между пиками есть время успеть разобрать накопленное ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 11:32 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrb, Код: pascal 1. 2. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 11:47 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Данная задача по скорости не может быть решена в принципе с используемым инструментарием. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 11:51 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
defecator, печалька ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 12:04 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbdefecator, печалька сваливай данные для загрузки в базу в файлы а отдельный процесс или поток пусть неспешно файлы читает, заносит данные в БД, и удаляет файл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 12:11 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
чччД, так код автоматом из PL/SQL Developer'а генерится) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 12:11 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbчччД, так код автоматом из PL/SQL Developer'а генерится) при использовании ODAC вот это всё говнище: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. писать руками не надо от слова совсем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 12:15 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
чччДcptngrb, Код: pascal 1. 2. :) Это тоже Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 12:16 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
defecator, а винт не сломается? если в памяти не справляется, то через файлы справиться? я думал над этим. хотел разделить на несколько процессов и использовать FileMapping или что-то другое, создал вопрос на форуме, но все скатилось на что-то я не так делаю и пришли к выводу, что нужно делать по другому ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 12:17 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
defecator, это супер! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 12:19 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbdefecator, а винт не сломается? если в памяти не справляется, то через файлы справиться? я думал над этим. хотел разделить на несколько процессов и использовать FileMapping или что-то другое, создал вопрос на форуме, но все скатилось на что-то я не так делаю и пришли к выводу, что нужно делать по другому ещё раз, последний, повторю: разделяй быструю часть и медленную часть. СУБД - это медленная часть. Быстрая часть пусть со своей скоростью генерит данные и складирует их хотя бы на винт. Медленная часть со своей скоростью выгребает данные из файлов и заносит в базу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 12:28 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
defecator, я понимаю, о чем ты. Я только хотел уточнить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 12:34 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Oracle быстр, если с ним правильно работать. За все четыре страницы так и непонятно, какая задача должна быть решена, как эти 100500 элементов связаны с базой данных и т.п. Зато куча хрустальных шаров ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 12:40 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
schiOracle быстр, если с ним правильно работать. За все четыре страницы так и непонятно, какая задача должна быть решена, как эти 100500 элементов связаны с базой данных и т.п. Зато куча хрустальных шаров какие хрустальные шары ? Чувак хочет запихать в базу стотыщ нефти мгновенно. Но у него не получается, и не получится, как ты с Ораклем ни работай ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 12:47 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
schi, через хранимую процедуру, которую я не могу менять, быстро писать 100500 записей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 12:47 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbdefecator, а винт не сломается? если в памяти не справляется, то через файлы справиться? я думал над этим. хотел разделить на несколько процессов и использовать FileMapping или что-то другое, создал вопрос на форуме, но все скатилось на что-то я не так делаю и пришли к выводу, что нужно делать по другому Повторюсь, посмотрел бы в сторону какого-нибудь сервиса типа rabbitmq, activemq, kafka для буферизации и доставки данных до обработчиков, в этом случае обработчиков можно будет плодить как на одной так и на нескольких машинах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 12:49 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Дегтярев Евгенийcptngrbdefecator, а винт не сломается? если в памяти не справляется, то через файлы справиться? я думал над этим. хотел разделить на несколько процессов и использовать FileMapping или что-то другое, создал вопрос на форуме, но все скатилось на что-то я не так делаю и пришли к выводу, что нужно делать по другому Повторюсь, посмотрел бы в сторону какого-нибудь сервиса типа rabbitmq, activemq, kafka для буферизации и доставки данных до обработчиков зачем нужна эта ересь, если сделать через файлы на диске гораздо быстрее и проще ? Быстрый сервис создаёт файл и кладёт туда пачку данных. Медленный сервис с какой-то периодичностью проверяет наличие новых файлов, открывает каждый и пишет данные в базу. Файл удаляется. Если хочется вообще быстро-быстро, то всё это можно хранить на электронном диске ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 12:52 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
defecatorзачем нужна эта ересь, если сделать через файлы на диске гораздо быстрее и проще ? Быстрый сервис создаёт файл и кладёт туда пачку данных. Медленный сервис с какой-то периодичностью проверяет наличие новых файлов, открывает каждый и пишет данные в базу. Файл удаляется. а вот не факт что быстрее и проще. зы что за электронный диск? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 12:59 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Дегтярев Евгенийdefecatorзачем нужна эта ересь, если сделать через файлы на диске гораздо быстрее и проще ? Быстрый сервис создаёт файл и кладёт туда пачку данных. Медленный сервис с какой-то периодичностью проверяет наличие новых файлов, открывает каждый и пишет данные в базу. Файл удаляется. а вот не факт что быстрее и проще. зы что за электронный диск? RAM-диск ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 13:00 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
defecatorДегтярев Евгенийпропущено... Повторюсь, посмотрел бы в сторону какого-нибудь сервиса типа rabbitmq, activemq, kafka для буферизации и доставки данных до обработчиков зачем нужна эта ересь, если сделать через файлы на диске гораздо быстрее и проще ? Быстрый сервис создаёт файл и кладёт туда пачку данных. Медленный сервис с какой-то периодичностью проверяет наличие новых файлов, открывает каждый и пишет данные в базу. Файл удаляется. Если хочется вообще быстро-быстро, то всё это можно хранить на электронном диске Несколько непонятно, зачем нужна промежуточная прослойка в виду файлов, пусть даже на электронном диске ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 16:07 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
schidefecatorпропущено... зачем нужна эта ересь, если сделать через файлы на диске гораздо быстрее и проще ? Быстрый сервис создаёт файл и кладёт туда пачку данных. Медленный сервис с какой-то периодичностью проверяет наличие новых файлов, открывает каждый и пишет данные в базу. Файл удаляется. Если хочется вообще быстро-быстро, то всё это можно хранить на электронном диске Несколько непонятно, зачем нужна промежуточная прослойка в виду файлов, пусть даже на электронном диске а почему бы и нет ? Это один из вариантов решения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 16:14 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
А если писать напрямую в память процесса??? К примеру мы запускаемся, программа ищет подходящие - наши приложения. А дальше пишет в них по адресу. А в наших приложениях есть мониторинг.. Так же как работают читы. Вауля. Самый быстрый способ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 16:16 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
defecatorschiпропущено... Несколько непонятно, зачем нужна промежуточная прослойка в виду файлов, пусть даже на электронном диске а почему бы и нет ? Это один из вариантов решения Дело в том, что из сообщений ТС видно только, что он "сидит на канале 10Гб/с и разбирает пакетики". Если у него нужные данные с такой скоростью поступают, то любые прослойки, мне кажется, будут замедлять общую обработку. Но пятая точка мне подсказывает, что полезные данные вряд ли с такой скоростью поступают и их надо ВСЕ сохранять в базе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 16:24 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
насчет того, что DOA плохое, а ODAC впереди планеты всей. ODAC client mode. Провел замеры на своей машине i7-6700 3,4 и 16ГБ ОЗУ . 5 потоков записи в БД в обоих случаях. средние значения: DOA - время присвоения переменных 1500 мс, время выполнения запроса 2400 мс, ОЗУ съели ~3 ГБ ODAC - время присвоения переменных 100 мс, время выполнения запроса 8000 мс, ОЗУ съели ~14 ГБ В DOA во время присвоения переменных происходит раскладывания в структуры oci.dll, а в ODAC не знаю(исходников нет), но такое чувство, что раскладывает при Execute. Тестил на компоненте TOraSQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 16:29 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
schi, не все, но даже полезные не успеваю укладывать, даже при полезном потоке ~2ГБ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 16:30 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
[quot schi]defecator...то любые прослойки, мне кажется, будут замедлять общую обработку... до тех пока хватает одного процесса/сервера одного процесса уже не хватает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 16:31 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
на локальной машине при полезном потоке ~600МБ проводились замеры. с DOA я справляюсь без проблем, при ODAC нет, вернее ОП заканчивается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 16:33 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
поделись хоть что за данные в таком кол-ве? мне только мониторинг на ум приходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 16:39 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Дегтярев Евгений, на локальной машине разбираю udp пакеты, которые pcap player'ом сам себе отправляю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 16:43 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
[quot Дегтярев Евгений]schiпропущено... до тех пока хватает одного процесса/сервера одного процесса уже не хватает Сам Oracle как-то справляется с нагрузками, у него там диспетчеры всякие есть, и прочие процессы :) Но, повторюсь, давать советы, не зная задачи, не всегда легко и действенно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 16:47 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbДегтярев Евгений, на локальной машине разбираю udp пакеты, которые pcap player'ом сам себе отправляю ну меня как раз интересует характер данных внутри пакетов, если это не секрет фирмы )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 17:01 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Дегтярев Евгений, СОРМ? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 20:24 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrb, смотри не вздумай начать рассказывать о прикладной задаче: толку все равно будет ноль, но советами засношают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 20:38 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
чччДcptngrb, смотри не вздумай начать рассказывать о прикладной задаче: толку все равно будет ноль, но советами засношают. а разве не за советами он сюда пришёл ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 20:55 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
defecator, точно не за теми, которые вывалят, если он даст слибину и сболтнет лишнего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 20:58 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
чччДdefecator, точно не за теми, которые вывалят, если он даст слибину и сболтнет лишнего. он уже показал, что код писать не умеет, а хайлоад системы для него вообще тёмный лес. Куда уж больше-то ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2018, 21:46 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
чччДcptngrb, смотри не вздумай начать рассказывать о прикладной задаче: толку все равно будет ноль, но советами засношают . а почему бы и нет )) есть предположение, что данные не сохраняются в БД в том виде, в котором прилетают в процедуру, ибо будет овердофига, т.е. в процедуре может быть агрегация данных, которую можно вынести в приложение и тем самым сильно сократить общение с БД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 10:16 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
сколько уж ахулиардов в батче получается? я больше нескольких тысяч энидаком не вставлял но "A typical picture of a local Oracle on a rather old laptop will still show > 100'000 records per second " и если тормоза именно на даковских обертках то может есть смысл прямо oci задействовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 10:32 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Трындец, спросил одно, ответили другое, какашками закидали. defecator вообще пукан разорвал... хотя по ответам сам в с Oracle + хайлоад системы видел издалека, если так категоричен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 11:39 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
vavan, думаю над этим, хотя склоняюсь на структурные изменения, но времени пока нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 11:40 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbТрындец, спросил одно, ответили другое, какашками закидали. defecator вообще пукан разорвал... хотя по ответам сам в с Oracle + хайлоад системы видел издалека, если так категоричен я сужу о твоём опыте программирования по тому коду, который ты тут понакопипастил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 11:42 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2041123]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
142ms |
get tp. blocked users: |
1ms |
| others: | 259ms |
| total: | 620ms |

| 0 / 0 |
