What is "Peak Memory Reserved" of a query execution plan in TIBCO Data Virtualization?
book
Article ID: KB0073255
calendar_today
Updated On:
Products
TIBCO Data Virtualization
Description
This article aims to explain what "Peak Memory Reserved" of a query execution plan is in TIBCO Data Virtualization (TDV).
Issue/Introduction
What is "Peak Memory Reserved" of a query execution plan in TIBCO Data Virtualization.
Resolution
TDV users can find “peak memory reserved“ in each query plan statistic. The query engine dynamically allocates this value specific to the current running request. By default, the initialized "peak memory reserved" is 2000000, however the maximum value can be configured in Studio using TDV Studio Menu > Administration > Configuration > /Server/Memory/Managed memory/"Maximum Memory per Request". This value is the percentage of managed memory that a single request is limited to during execution.
This can be used to prevent excessive memory use by a single request. This value is locally defined. It will not be altered when restoring a backup and will not be replicated in a cluster. Users can set the percentage of available memory to limit one request.
Note: 1) For TDV version 7.0.x, “Maximum Memory per Request” is 100%, by default. This is however, configurable based on a customer's use case. The optimal recommended range is between 20% to 30%. 2) For TDV version 8.0 and higher, by default, “Maximum Memory per Request” is 30% for optimal performance. This is also configurable based on the use case. 3) Also, for TDV 8.0 and higher versions, there is a new feature called "workload management" which allows granular query/memory control.
Sample Query Execution Plan of a query:
Name: SELECT Rows Returned: 220 Estimated Rows Returned: Unknown Total execute time which include children time and wait time.: 121.4 msecs Foreground Node Processing Time: 2.5 msecs Peak memory reserved: 4000000 Projection: orderdetails0.orderid OrderID, orderdetails0.productid ProductID, orderdetails0.discount Discount, orders.orderdate OrderDate, customers.companyname CompanyName, customers.contactfirstname CustomerContactFirstName, customers.contactlastname CustomerContactLastName, customers.phonenumber CustomerContactPhone, productCatalog_xform.ProductName ProductName, inventorytransactions.transactionid TransactionID, purchaseorders.daterequired DateRequired, purchaseorders.datepromised DatePromised, purchaseorders.shipdate ShipDate, suppliers.supplierid SupplierID, suppliers.suppliername SupplierName, suppliers.contactname SupplierContactName, suppliers.phonenumber SupplierPhoneNumber