database - ID-ing Deadlocks in a Thread using Firebird -
developer looking best method identify deadlock on specific transaction inside specific thread. getting deadlock errors these general in fb 2.0
deadlocks happening , leading breakdowns in db connection between client , db.
- we send live ( once second) data db.
- we open thread pool of around 30 threads , use them ingest data ( 1-2 kb each second).
- sometimes db can take use next thread in pool keep stream current possible.
on occasion produces deadlock in addition reaching max thread count , breaking connection.
so need opinions on if best method ingest amount of data every second. have 100 on these clients hitting db @ same time.
average transactions 1.5 1.8 million per day.
i don't know of specific way identify particular thread or statement. i've had deal fb deadlocks many times. have 2 theads trying update same row in table doing in separate transactions.
the best solution i've found design things threads never have update row other thread might update. means having thread exists update common table/row. worker threads send message thread. (the message done via table.)
we run fb in many systems in field generate transactions (not millions per day) , have found fb rock solid once design correct.
Comments
Post a Comment