java - What does Oracle CONCURRENCY_WAIT_TIME mean here? -
question
- for simple select query takes longer concurrency_wait_time, while accessing table not inserted, updated, or deleted, there way can kind of dirty read row in specific table in oracle?
- what concurrency_wait_time mean here exactly? can guess concurrency_wait_time occur when accessing same row(record) on table multiple sessions? when using read only?
situation
i've been doing load tests on web , rest api server, found simple select query taking time longer expected.
how it's tested
- jmeter desktop, 500 concurrent post request repeat 3 times , more
throughput result
- 30/sec when use 100 maxactive per instance
- 22/sec when use 200 maxactive per instance
how find slow query
- spring aspectj on application write method process time @around annotation
- python script analyze log rank list methods avg, min, max time
- found db select calls take long (2~20 secs) takes less second.
- look v$sqlarea find slow query
- top 4 queries found average time 2076 ms, had 1970 ms concurrency_wait_time
concurrency_wait_time : concurrency wait time (in microseconds)
i recommend looking bottleneck somewhere else looking into:
concurrency_wait_time : concurrency wait time (in microseconds)
microsecond 1 millionth of second should not cause significant delays, internal oracle synchronisation mechanism based on i.e. latches, simple , fast.
- ensure have baseline os health metrics monitoring in place both java application server , database server, maybe reason banal lack of resources (cpu, ram, network or disk). can use jmeter perfmon plugin this.
- if systems not overloaded , still not happy processing time consider using java profilers yourkit or jprofiler find associated heavy methods.
- finally can report slow queries dbas take ways of queries optimization.
Comments
Post a Comment