diff --git a/substrate/utils/frame/benchmarking-cli/src/block/cmd.rs b/substrate/utils/frame/benchmarking-cli/src/block/cmd.rs
index e4e1716b1c5ac17abbc1d8a787a25ee0f42f8d69..14cbb1b4386861b1c126f31cb39582fc34852c19 100644
--- a/substrate/utils/frame/benchmarking-cli/src/block/cmd.rs
+++ b/substrate/utils/frame/benchmarking-cli/src/block/cmd.rs
@@ -67,6 +67,12 @@ pub struct BlockCmd {
 	#[allow(missing_docs)]
 	#[clap(flatten)]
 	pub params: BenchmarkParams,
+
+	/// Enable the Trie cache.
+	///
+	/// This should only be used for performance analysis and not for final results.
+	#[clap(long)]
+	pub enable_trie_cache: bool,
 }
 
 impl BlockCmd {
@@ -98,4 +104,12 @@ impl CliConfiguration for BlockCmd {
 	fn import_params(&self) -> Option<&ImportParams> {
 		Some(&self.import_params)
 	}
+
+	fn trie_cache_maximum_size(&self) -> Result<Option<usize>> {
+		if self.enable_trie_cache {
+			Ok(self.import_params().map(|x| x.trie_cache_maximum_size()).unwrap_or_default())
+		} else {
+			Ok(None)
+		}
+	}
 }
diff --git a/substrate/utils/frame/benchmarking-cli/src/extrinsic/cmd.rs b/substrate/utils/frame/benchmarking-cli/src/extrinsic/cmd.rs
index 2c94a6be50255a84eba95795c82ea52a9f1a405d..339d6126bcd09a4f42496ced73b5f36e380e86d9 100644
--- a/substrate/utils/frame/benchmarking-cli/src/extrinsic/cmd.rs
+++ b/substrate/utils/frame/benchmarking-cli/src/extrinsic/cmd.rs
@@ -72,6 +72,12 @@ pub struct ExtrinsicParams {
 	/// Extrinsic to benchmark.
 	#[clap(long, value_name = "EXTRINSIC", required_unless_present = "list")]
 	pub extrinsic: Option<String>,
+
+	/// Enable the Trie cache.
+	///
+	/// This should only be used for performance analysis and not for final results.
+	#[clap(long)]
+	pub enable_trie_cache: bool,
 }
 
 impl ExtrinsicCmd {
@@ -132,4 +138,12 @@ impl CliConfiguration for ExtrinsicCmd {
 	fn import_params(&self) -> Option<&ImportParams> {
 		Some(&self.import_params)
 	}
+
+	fn trie_cache_maximum_size(&self) -> Result<Option<usize>> {
+		if self.params.enable_trie_cache {
+			Ok(self.import_params().map(|x| x.trie_cache_maximum_size()).unwrap_or_default())
+		} else {
+			Ok(None)
+		}
+	}
 }
diff --git a/substrate/utils/frame/benchmarking-cli/src/overhead/cmd.rs b/substrate/utils/frame/benchmarking-cli/src/overhead/cmd.rs
index 1c6753b4a20ea32ace0a272d02bf48e900641249..93b0e7c4726471da836c739a0e1ff59b0a69393e 100644
--- a/substrate/utils/frame/benchmarking-cli/src/overhead/cmd.rs
+++ b/substrate/utils/frame/benchmarking-cli/src/overhead/cmd.rs
@@ -75,6 +75,12 @@ pub struct OverheadParams {
 	/// Good for adding LICENSE headers.
 	#[clap(long, value_name = "PATH")]
 	pub header: Option<PathBuf>,
+
+	/// Enable the Trie cache.
+	///
+	/// This should only be used for performance analysis and not for final results.
+	#[clap(long)]
+	pub enable_trie_cache: bool,
 }
 
 /// Type of a benchmark.
@@ -156,4 +162,12 @@ impl CliConfiguration for OverheadCmd {
 	fn import_params(&self) -> Option<&ImportParams> {
 		Some(&self.import_params)
 	}
+
+	fn trie_cache_maximum_size(&self) -> Result<Option<usize>> {
+		if self.params.enable_trie_cache {
+			Ok(self.import_params().map(|x| x.trie_cache_maximum_size()).unwrap_or_default())
+		} else {
+			Ok(None)
+		}
+	}
 }
diff --git a/substrate/utils/frame/benchmarking-cli/src/storage/cmd.rs b/substrate/utils/frame/benchmarking-cli/src/storage/cmd.rs
index d28ac4102152f428b2c814ae3a4f3d80376b7026..1d91e8f0b05174312656a2eb04293fa9ca13b52a 100644
--- a/substrate/utils/frame/benchmarking-cli/src/storage/cmd.rs
+++ b/substrate/utils/frame/benchmarking-cli/src/storage/cmd.rs
@@ -105,9 +105,15 @@ pub struct StorageParams {
 	/// Trie cache size in bytes.
 	///
 	/// Providing `0` will disable the cache.
-	#[clap(long, default_value = "1024")]
+	#[clap(long, value_name = "Bytes", default_value = "67108864")]
 	pub trie_cache_size: usize,
 
+	/// Enable the Trie cache.
+	///
+	/// This should only be used for performance analysis and not for final results.
+	#[clap(long)]
+	pub enable_trie_cache: bool,
+
 	/// Include child trees in benchmark.
 	#[clap(long)]
 	pub include_child_trees: bool,
@@ -220,10 +226,10 @@ impl CliConfiguration for StorageCmd {
 	}
 
 	fn trie_cache_maximum_size(&self) -> Result<Option<usize>> {
-		if self.params.trie_cache_size == 0 {
-			Ok(None)
-		} else {
+		if self.params.enable_trie_cache && self.params.trie_cache_size > 0 {
 			Ok(Some(self.params.trie_cache_size))
+		} else {
+			Ok(None)
 		}
 	}
 }