diff --git a/examples/producer/dummy-data-producer/dummy_data_producer.cpp b/examples/producer/dummy-data-producer/dummy_data_producer.cpp
index 658ce992e758ee664852e7a3046a6ae3fb0b5d96..c7bae8553d6b740df188573d851196d2089ba107 100644
--- a/examples/producer/dummy-data-producer/dummy_data_producer.cpp
+++ b/examples/producer/dummy-data-producer/dummy_data_producer.cpp
@@ -28,7 +28,7 @@ bool SendDummyData(hidra2::Producer* producer, size_t number_of_byte, uint64_t i
     auto buffer = std::unique_ptr<uint8_t>(new uint8_t[number_of_byte]);
 
     for(uint64_t i = 0; i < iterations; i++) {
-        std::cout << "Send file " << i + 1 << "/" << iterations << std::endl;
+//        std::cerr << "Send file " << i + 1 << "/" << iterations << std::endl;
 
         auto err = producer->Send(i, buffer.get(), number_of_byte);
 
@@ -36,7 +36,7 @@ bool SendDummyData(hidra2::Producer* producer, size_t number_of_byte, uint64_t i
             std::cerr << "File was not successfully send: " << err << std::endl;
             return false;
         } else {
-            std::cout << "File was successfully send." << std::endl;
+//            std::cerr << "File was successfully send." << std::endl;
         }
     }
 
@@ -50,7 +50,7 @@ int main (int argc, char* argv[]) {
     std::tie(receiver_address, number_of_kbytes, iterations) = ProcessCommandArguments(argc, argv);
 
     std::cout << "receiver_address: " << receiver_address << std::endl
-              << "number_of_kbytes: " << number_of_kbytes << std::endl
+              << "Package size: " << number_of_kbytes << "k" << std::endl
               << "iterations: " << iterations << std::endl
               << std::endl;
 
@@ -68,10 +68,10 @@ int main (int argc, char* argv[]) {
     }
     high_resolution_clock::time_point t2 = high_resolution_clock::now();
     double duration_sec = std::chrono::duration_cast<std::chrono::milliseconds>( t2 - t1 ).count() / 1000.0;
-    double size_gb = double(number_of_kbytes) * iterations / 1024.0 / 1024.0;
+    double size_gb = double(number_of_kbytes) * iterations / 1024.0 / 1024.0 * 8.0;
     double rate = iterations / duration_sec;
     std::cout << "Rate: " << rate << " Hz" << std::endl;
-    std::cout << "Bandwidth " << size_gb / duration_sec << " GB/s" << std::endl;
+    std::cout << "Bandwidth " << size_gb / duration_sec << " Gbit/s" << std::endl;
 
     return EXIT_SUCCESS;
 }
diff --git a/receiver/unittests/mock_receiver_config.cpp b/receiver/unittests/mock_receiver_config.cpp
index 3a49bfdd5bdbf7056a966f73cf627aa67b431e65..7819fe13a934464ce8ddd2fbbb8f8abd90d7403c 100644
--- a/receiver/unittests/mock_receiver_config.cpp
+++ b/receiver/unittests/mock_receiver_config.cpp
@@ -18,7 +18,7 @@ Error SetReceiverConfig (const ReceiverConfig& config) {
     auto config_string = std::string("{\"MonitorDbAddress\":") + "\"" + config.monitor_db_uri + "\"";
     config_string += "," + std::string("\"MonitorDbName\":") + "\"" + config.monitor_db_name + "\"";
     config_string += "," + std::string("\"ListenPort\":") + std::to_string(config.listen_port);
-    config_string += "," + std::string("\"WriteToDisk\":") + (config.write_to_disk?"true":"false");
+    config_string += "," + std::string("\"WriteToDisk\":") + (config.write_to_disk ? "true" : "false");
     config_string += "}";
 
     EXPECT_CALL(mock_io, ReadFileToString_t("fname", _)).WillOnce(
diff --git a/tests/manual/performance_producer_receiver/receiver.json b/tests/manual/performance_producer_receiver/receiver.json
new file mode 100644
index 0000000000000000000000000000000000000000..e23a556d1cd5a8c03ce0c32b37b7b73161bfa89d
--- /dev/null
+++ b/tests/manual/performance_producer_receiver/receiver.json
@@ -0,0 +1,6 @@
+{
+  "MonitorDbAddress":"localhost:8086",
+  "MonitorDbName": "db_test",
+  "ListenPort":4200,
+  "WriteToDisk":true
+}
\ No newline at end of file
diff --git a/tests/manual/performance_producer_receiver/settings_tmp.json b/tests/manual/performance_producer_receiver/settings_tmp.json
new file mode 100644
index 0000000000000000000000000000000000000000..35b3649bcb182f9b0121d9e85cac59e9c710e679
--- /dev/null
+++ b/tests/manual/performance_producer_receiver/settings_tmp.json
@@ -0,0 +1,6 @@
+{
+  "MonitorDbAddress": "zitpcx27016:8086",
+  "MonitorDbName": "db_test",
+  "ListenPort": 4201,
+  "WriteToDisk": false
+}
diff --git a/tests/manual/performance_producer_receiver/test.sh b/tests/manual/performance_producer_receiver/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..317f32d77331e639f2d1ed564fd5ba4fc31aa70c
--- /dev/null
+++ b/tests/manual/performance_producer_receiver/test.sh
@@ -0,0 +1,69 @@
+#!/usr/bin/env bash
+
+set -e
+
+# starts receiver on $service_node
+# runs producer with various file sizes from $worker_node and measures performance
+
+# a working directory
+service_node=max-wgs
+service_ip=`resolveip -s ${service_node}`
+service_port=4201
+
+monitor_node=zitpcx27016
+monitor_port=8086
+
+worker_node=max-display
+#worker_node=max-wgs
+
+worker_dir=~/producer_tests
+service_dir=/gpfs/petra3/scratch/yakubov/receiver_tests
+
+ssh ${monitor_node} influx -execute \"create database db_test\"
+
+#ssh ${monitor_node} docker run -d -p 8086 -p 8086 --name influxdb influxdb
+
+ssh ${service_node} mkdir -p ${service_dir}
+ssh ${service_node} mkdir -p ${service_dir}/files
+ssh ${worker_node} mkdir -p ${worker_dir}
+
+scp ../../../cmake-build-release/receiver/receiver ${service_node}:${service_dir}
+scp ../../../cmake-build-release/examples/producer/dummy-data-producer/dummy-data-producer ${worker_node}:${worker_dir}
+
+
+function do_work {
+cat receiver.json |
+  jq "to_entries |
+       map(if .key == \"MonitorDbAddress\"
+          then . + {value:\"${monitor_node}:${monitor_port}\"}
+          elif .key == \"ListenPort\"
+          then . + {value:${service_port}}
+          elif .key == \"WriteToDisk\"
+          then . + {value:$1}
+          else .
+          end
+         ) |
+      from_entries" > settings_tmp.json
+scp settings_tmp.json ${service_node}:${service_dir}/settings.json
+ssh ${service_node} "bash -c 'cd ${service_dir}; nohup ./receiver settings.json &> ${service_dir}/receiver.log &'"
+sleep 0.3
+for size  in 100 1000 10000
+do
+echo ===================================================================
+ssh ${worker_node} ${worker_dir}/dummy-data-producer ${service_ip}:${service_port} ${size} 1000
+ssh ${service_node} rm -f ${service_dir}/files/*
+done
+ssh ${service_node} killall receiver
+}
+
+echo
+echo "With write to disk:"
+do_work true
+
+echo
+echo "Without write to disk:"
+do_work false
+
+
+#rm settings_tmp.json
+#ssh ${service_node} docker rm -f influxdb