|
|
|
DOA Много потоков External exception EBF00BAA
|
|||
|---|---|---|---|
|
#18+
Кстати, FireDAC тоже использует oci.dll и проблем с 32/64 не наблюдалось. Но DOA немного быстрее, а мне это критично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2018, 11:34 |
|
||
|
DOA Много потоков External exception EBF00BAA
|
|||
|---|---|---|---|
|
#18+
Удалось побороть, вроде бы. Вдруг кому-то понадобиться. В Oracle.pas в процедуре TOracleSession.GetEnv условие Код: pascal 1. заменяем на Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 15:18 |
|
||
|
DOA Много потоков External exception EBF00BAA
|
|||
|---|---|---|---|
|
#18+
cptngrbУдалось побороть, вроде бы. Вдруг кому-то понадобиться. В Oracle.pas в процедуре TOracleSession.GetEnv условие Код: pascal 1. заменяем на Код: pascal 1. Да, хороший баг. oci.dll думала, что она не используется из разных потоков, если не поставить ThreadSafe := True, получается. Понятное дело, что в таком случае крэшилось, даже если 1 коннект = 1 поток, но таких потоков несколько. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 16:57 |
|
||
|
DOA Много потоков External exception EBF00BAA
|
|||
|---|---|---|---|
|
#18+
cptngrbУдалось побороть, вроде бы. Вдруг кому-то понадобиться. В Oracle.pas в процедуре TOracleSession.GetEnv условие Код: pascal 1. заменяем на Код: pascal 1. А не проще Threadsafe в True установить ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 17:22 |
|
||
|
DOA Много потоков External exception EBF00BAA
|
|||
|---|---|---|---|
|
#18+
Проще, но ThreadSafe влияет не только на работу oci.dll, но и на "обертку" DOA, заставляя многие операции выполнять в крит. секции, а это дополнительные накладные расходы, а мне важно (конкретно в этом случае) выигрыш нескольких сотен мс на каждой операции. Если быстродействие не так сильно важно, то лучше ставить ThreadSafe = True и не париться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2018, 08:45 |
|
||
|
DOA Много потоков External exception EBF00BAA
|
|||
|---|---|---|---|
|
#18+
cptngrbПроще, но ThreadSafe влияет не только на работу oci.dll, но и на "обертку" DOA, заставляя многие операции выполнять в крит. секции, а это дополнительные накладные расходы, а мне важно (конкретно в этом случае) выигрыш нескольких сотен мс на каждой операции. Если быстродействие не так сильно важно, то лучше ставить ThreadSafe = True и не париться Когда в следующий раз вылезут глюки, вспомни 21259629 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2018, 10:43 |
|
||
|
DOA Много потоков External exception EBF00BAA
|
|||
|---|---|---|---|
|
#18+
cptngrbКстати, FireDAC тоже использует oci.dll и проблем с 32/64 не наблюдалось. Но DOA немного быстрее, а мне это критично.у тебя что, там 1000 запросов в секунду что ли делается? может стоит поменять архитектуру приложения вместо того, чтобы явно включать режим возможных багов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2018, 10:58 |
|
||
|
DOA Много потоков External exception EBF00BAA
|
|||
|---|---|---|---|
|
#18+
asutp2, не 1000, а 50 потоков пишут по 6 массивов размером 500000 элементов, и когда SetVariable массивов 20 секунд, то это очень долго. И выигрыш в 5-7 секунд это много для меня ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2018, 16:07 |
|
||
|
DOA Много потоков External exception EBF00BAA
|
|||
|---|---|---|---|
|
#18+
20 секунд это когда все нормально, а бывает и 2 минуты, и 4 минуты. И вот это уже неприемлемо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2018, 16:09 |
|
||
|
DOA Много потоков External exception EBF00BAA
|
|||
|---|---|---|---|
|
#18+
cptngrb, Возможно, стоит подумать над тем, чтобы потоки заменить на процессы, которые не добавляют OCI_Threaded в EnvMode (и, конечно, не ставят ThreadSafe в True). Это даст профит для менеджера памяти oci.dll - не будет блокировок. А в твоем нынешнем варианте - они будут при любом дерганье памяти внутри неё. Я, конечно, не знаю, какой там менеджер памяти, может - и "самый быстрый в мире и без блокировок" (с), может, и системный, но оба варианта маловероятны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2018, 16:27 |
|
||
|
|

start [/forum/topic.php?fid=58&startmsg=39614630&tid=2041141]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
175ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 493ms |

| 0 / 0 |
