All Products
Search
Document Center

ApsaraDB RDS:Use expressions as parameter values

Last Updated:Mar 28, 2026

Expression parameters let you tie a parameter value to instance type metrics—memory, CPU, storage, or connections—so the value scales automatically whenever you resize the instance. No manual recalculation or post-resize tuning required.

For example, set innodb_buffer_pool_size to {DBInstanceClassMemory*3/4}. After a vertical scale-up, the buffer pool automatically adjusts to three-quarters of the new instance's available memory, keeping the database at peak efficiency without intervention.

image.png

Variables

Each variable returns an integer derived from the current instance type at runtime.

`AllocatedStorage` Storage capacity supported by the instance type.

`DBInstanceClassMemory` Available memory for the RDS instance. This is the instance type's total memory minus the memory reserved by RDS control processes.

For example, if the instance type provides 16 GB of memory and control processes consume 4 GB, DBInstanceClassMemory equals 12 GB.

Control process memory is whichever is smaller between the following two values:

  • Instance memory x 0.65

  • (Instance memory / 16,384 MB + 1) x 2,048 MB

For the full list of memory, CPU, storage, and connection values per instance type, see Primary ApsaraDB RDS instance types.

`DBInstanceClassCPU` Number of CPU cores supported by the instance type.

`DBInstanceClassConnections` Maximum number of connections supported by the instance type.

Operators

Expressions are enclosed in braces: {expression}.

Division operator (`/`) Divides one integer by another and returns an integer. Decimal results are truncated—only the integer part is kept. Both the dividend and the divisor must be integers.

  • Valid: {DBInstanceClassMemory*3/4}

  • Invalid: {DBInstanceClassMemory*0.75} — decimal literals are not supported

Multiplication operator (*) Multiplies two integers and returns an integer. Decimal results are truncated. Both operands must be integers.

Functions

`GREATEST(value1, value2, ...)` Returns the largest value from a list of integers or expressions.

`LEAST(value1, value2, ...)` Returns the smallest value from a list of integers or expressions.

Example:

LEAST({DBInstanceClassMemory/256}, 10485760)

`SUM(value1, value2, ...)` Returns the sum of a list of integers or expressions.