delphix / dxtoolkit

Scripts that remotely interact with Delphix engine APIs
Apache License 2.0
38 stars 32 forks source link

"2021-08-23: dx_get_db_env - providing VDB name sees some inefficiency when loading snapshots in memory" #189

Closed pvero88 closed 2 years ago

pvero88 commented 3 years ago

Expected Behavior Customer uses dx_get_db_env for ASE VDB to prepare for refresh operations. They see a big discrepancy in timing when running on their dev engine versus their test engine. They believe both engines (6.0.8.0) should return in approximately the same time with the results.

Actual Behavior When running this example on the two engines (looks like from different clients):

Test engine: Takes around 1 minute or less to produce results [delphiq@GBLDNSRV9TL4093 dxtoolkit2]$ time ./dx_get_db_env -engine DelphixEngineTest -name tempest_test2

Appliance Hostname Database Group Type SourceDB Parent snapshot Used(GB) Status Enabled Unique Name Parent time VDB creation time


DelphixEngineTest gbldnsrv9tl4280-nfs. tempest_test2 Tempest Test Gr VDB tempest_prod@GBLDNSRV4PA4412-1 N/A 485.92 RUNNING enabled N/A N/A 2021-05-04 13:54:24

real 0m42.973s user 0m1.257s sys 0m0.178s

Dev engine: Taking 4 to 5 minutes for similar results sybase:/opt/delphiq/dxtoolkit2 $ time ./dx_get_db_env -engine DelphixEngineDev -name tempest_dev2

Appliance Hostname Database Group Type SourceDB Parent snapshot Used(GB) Status Enabled Unique Name Parent time VDB creation time


DelphixEngineDev GBLDNSRV9DL4280.anya tempest_dev2 Tempest DEV Gro VDB tempest_prod@GBLDNSRV4PA4412-1 N/A 70.93 RUNNING enabled N/A N/A 2020-11-26 13:00:39

real 5m16.042s user 0m4.205s sys 0m0.518s

Steps To Reproduce the Problem I have not personally been able to recreate but it is consistent with the customer and may require some interaction with them via Support case: 67811

Screenshots If applicable, add screenshots to help explain your problem.

Version Virtualization Engine 6.0.8.0 API version: 1.3.0 Dxtoolkit version 2.4.12-prebuild

Additional Context We have -debug 3 output. dev and test test_dx_get_db_env.out3.log test_dx_get_db_env.out3.log

You can also access case logs (access_log) if necessary via case directory on support-tools - if you are unable to obtain let me know and I can add here. Case directory: This directory aligns with the debug output: /nas/support/glencore/67811/b03_2021-08-23

pvero88 commented 3 years ago

Hi Marcin,

I am including the access log excerpts from the customer's dev and test runs. Let me know if this is enough to help with the API layout or if you actually need copy of the customer code.

Cheers, -Paul access_calls.tar.gz

pvero88 commented 2 years ago

Customer is satisfied with the proposed option:

Usage: dx_get_db_env -d xxx -type vdb -snappervdb

In a sample test they have gone from 24 mins to 4 mins completion time.

Thank you.

Cheers, -Paul

marcinops commented 2 years ago

fixed in 2.4.14.1

marcinops commented 2 years ago

additional flag added: -snappervdb in dx_get_db_env command and this flag can be used to optimise a command in the environment with many snapshots (> 500)