Prevent
      deadlocks with
          JMeter
           O l e k s i i   Z o z u l e n k o




automated-testing.info
History
deadlock - is ... ?




                  Не разрешимая
                  ситуация, которая
                  возникает при попытке
                  одновременно получить
                  доступ к одному
                  ресурсу с нескольких
                  потоков или источников
5%
15%




           80%


                 Database
                 Threads Sync
                 Others
Example
 UPDATE products AS p, products AS pp   
SET  p.is_low_on_stock =
IFNULL(p.products_low_stock_level,
IFNULL(pp.products_low_stock_level,
0)) >= p.products_quantity,
pp.is_low_on_stock =
IFNULL(p.products_low_stock_level,
IFNULL(pp.products_low_stock_level,
0)) >= p.products_quantity WHERE
p.products_parent = pp.products_id AND
pp.products_id IN (5000, 10529);
Tools
Tools
Tools

        JDBC Sampler
          BSF Sampler

        Your Own Sampler
Assume Causes
 SELECT p.is_low_on_stock,
p.products_low_stock_level,
p.products_quantity, pp.is_low_on_stock
FROM products AS p, products AS pp
WHERE p.products_parent =
pp.products_id AND pp.products_id IN
(5000, 10529);



 INSERT into products(product_id,
product_title, is_low_on_stock,
products_low_stock_level) values (NULL,
‘sometitle’, 5,0);
Users = Requests
Failure Example
Thanks

Oleksii Zozulenko

ozozulenko@gmail.com

automated-testing.info

Prevent deadlockswithj meter