Repository: hashgraph/hedera-services
Issue: HCS-Restart-Performance-Testnet-10k-46m fails on master

**Summary of the defect**
HCS-Restart-Performance-Testnet-10k-46m fails on master with 0 TPS . Investigate the reason for it and fix the issue.

**How to reproduce (if possible)**
https://hedera-hashgraph.slack.com/archives/C018Y4E6ADT/p1611476677006700
https://hedera-hashgraph.slack.com/archives/C018Y4E6ADT/p1611562896008600

**Service logs (if applicable)**
```
...
```
**Environment:**
- OS: [e.g. Ubuntu 18.04]
- Java: [e.g. OpenJDK 11.0.4]
- Hedera Services Version: [e.g. 0.0.5]
- HAPI Version: [e.g. 0.0.5]

**Additional Context**
Add any other context about the problem here. Attach any logs here, if applicable.


Changed files:
test-clients/src/main/java/com/hedera/services/bdd/suites/perf/SubmitMessageLoadTest.java

diff --git a/test-clients/src/main/java/com/hedera/services/bdd/suites/perf/SubmitMessageLoadTest.java b/test-clients/src/main/java/com/hedera/services/bdd/suites/perf/SubmitMessageLoadTest.java
index 5eb275029c..186524480c 100644
--- a/test-clients/src/main/java/com/hedera/services/bdd/suites/perf/SubmitMessageLoadTest.java
+++ b/test-clients/src/main/java/com/hedera/services/bdd/suites/perf/SubmitMessageLoadTest.java
@@ -119,7 +119,6 @@ public class SubmitMessageLoadTest extends LoadTest {
 	private static HapiApiSpec runSubmitMessages() {
 		PerfTestLoadSettings settings = new PerfTestLoadSettings();
 		final AtomicInteger submittedSoFar = new AtomicInteger(0);
-
 		Supplier<HapiSpecOperation[]> submitBurst = () -> new HapiSpecOperation[] {
 				opSupplier(settings).get()
 		};
@@ -163,10 +162,23 @@ public class SubmitMessageLoadTest extends LoadTest {
 				:  settings.getIntProperty("messageSize", messageSize)
 				        - r.nextInt(settings.getHcsSubmitMessageSizeVar());
 
-		// maybe use some more realistic distributions to simulate real world scenarios
-		String senderId = String.format("0.0.%d", TEST_ACCOUNT_STARTS_FROM + r.nextInt(settings.getTotalAccounts()));
-		String topicId  = String.format("0.0.%d", TEST_ACCOUNT_STARTS_FROM + settings.getTotalAccounts()
-				+ r.nextInt(settings.getTotalTopics() ));
+		String senderId = "sender";
+		String topicId = "topic";
+		String senderKey= "sender";
+		String submitKey = "submitKey";
+		if(settings.getTotalAccounts() > 1) {
+			int s =  r.nextInt(settings.getTotalAccounts());
+			int re = 0;
+			do {
+				re =  r.nextInt(settings.getTotalAccounts());
+			} while (re == s);
+			// maybe use some more realistic distributions to simulate real world scenarios
+			senderId = String.format("0.0.%d", TEST_ACCOUNT_STARTS_FROM + r.nextInt(settings.getTotalAccounts()));
+			topicId  = String.format("0.0.%d", TEST_ACCOUNT_STARTS_FROM + settings.getTotalAccounts()
+					+ r.nextInt(settings.getTotalTopics() ));
+			senderKey = GENESIS;
+			submitKey = GENESIS;
+		}
 
 		if(log.isDebugEnabled()) {
 			log.debug("{} will submit a message of size {} to topic {}", senderId, msgSize, topicId);
@@ -176,7 +188,7 @@ public class SubmitMessageLoadTest extends LoadTest {
 					randomUtf8Bytes( msgSize - 8)))
 				.noLogging()
 				.payingWith(senderId)
-				.signedBy(GENESIS, GENESIS)
+				.signedBy(senderKey, submitKey)
 				.fee(100_000_000)
 				.suppressStats(true)
 				.hasRetryPrecheckFrom(BUSY, DUPLICATE_TRANSACTION, PLATFORM_TRANSACTION_NOT_CREATED,