# A Reliable Publish-Subscribe Mechanism for Internet of Things-Enabled Smart Greenhouses
## 4 Performance Evaluation
### Evaluation Model
\begin{table}
\begin{tabular}{c c c c c c c c c c} \hline \hline  & \multicolumn{8}{c}{**The Number of Events = 4, QoS0**} \\ \hline \multirow{3}{*}{**MQTT Brokers**} & **Original** & **Proposed** & **Original** & **Proposed** & **Original** & **Proposed** & **Original** & **Proposed** \\  & **Mosquito** & **Mosquito** & **Bevywise** & **Bevywise** & **ActiveMQ** & **ActiveMQ** & **EMQX** & **EMQX** & **EMQX** \\  & **1.4.15** & **1.4.15** & **MQTT** & **MQTT** & **5.15.8** & **5.15.8** & **4.0.8** & **4.0.8** \\ \hline \multirow{3}{*}{\begin{tabular}{c} Message arrival rate (msgs/s) \\ \end{tabular} } & \multirow{3}{*}{32,016.00} & \multirow{3}{*}{32,016.00} & \multirow{3}{*}{32,839.00} & \multirow{3}{*}{32,839.00} & \multirow{3}{*}{39,479.00} & \multirow{3}{*}{39,479.00} & \multirow{3}{*}{18,034.00} & \multirow{3}{*}{18,034.00} \\  & & & & & & & & \\ \hline \multirow{3}{*}{\begin{tabular}{c} Message size \\ (bytes) \\ \end{tabular} } & \multirow{3}{*}{100} & \multirow{3}{*}{20} & \multirow{3}{*}{100} & \multirow{3}{*}{20} & \multirow{3}{*}{100} & \multirow{3}{*}{20} & \multirow{3}{*}{100} & \multirow{3}{*}{20} & \multirow{3}{*}{100} & \multirow{3}{*}{20} \\  & & & & & & & & \\ \hline \multirow{3}{*}{\begin{tabular}{c} The number \\ of messages \\ \end{tabular} } & \multirow{3}{*}{320.16} & \multirow{3}{*}{1600.8} & \multirow{3}{*}{328.39} & \multirow{3}{*}{1641.95} & \multirow{3}{*}{394.79} & \multirow{3}{*}{1973.95} & \multirow{3}{*}{180.34} & \multirow{3}{*}{901.7} \\  & & & & & & & & \\ \hline \multirow{3}{*}{\begin{tabular}{c} Message processing \\ rate (msgs/s) \\ \end{tabular} } & \multirow{3}{*}{80.04} & \multirow{3}{*}{400.2} & \multirow{3}{*}{82.0975} & \multirow{3}{*}{365.4875} & \multirow{3}{*}{98.6975} & \multirow{3}{*}{493.4875} & \multirow{3}{*}{45.085} & \multirow{3}{*}{225.425} \\  & & & & & & & & \\ \hline \multirow{3}{*}{\
\begin{tabular}{c} Average latency \\ (in ms) \\ \end{tabular} } & \multirow{3}{*}{1.65} & \multirow{3}{*}{1.65} & \multirow{3}{*}{1.13} & \multirow{3}{*}{1.13} & \multirow{3}{*}{2.33} & \multirow{3}{*}{2.33} & \multirow{3}{*}{1.34} & \multirow{3}{*}{1.34} \\  & & & & & & & & \\ \hline \multirow{3}{*}{
\begin{tabular}{c} Subscription \\ throughput (msgs/s) \\ \end{tabular} } & \multirow{3}{*}{194.036} & \multirow{3}{*}{970.181} & \multirow{3}{*}{290.610} & \multirow{3}{*}{1453.053} & \multirow{3}{*}{169.437} & \multirow{3}{*}{847.188} & \multirow{3}{*}{134.582} & \multirow{3}{*}{677.388} \\  & & & & & & & & \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Evaluation results for scalable and non-scalable MQTT brokers with various message arrival rates and average latency for QoS0. \begin{table}
\begin{tabular}{c c c c c c c c c} \hline \hline  & \multicolumn{8}{c}{**The Number of Events = 4, QoS1**} \\ \hline \multirow{3}{*}{**MQTT Brokers**} & **Original** & **Proposed** & **Original** & **Proposed** & **Bevywise** & **Original** & **ActiveMQ** & **ActiveMQ** & **EMQX** & **EMQX** \\  & **1.4.15** & **1.4.15** & **MQTT** & **MQTT** & **5.15.8** & **5.15.8** & **4.0.8** & **4.0.8** \\ \hline \multirow{3}{*}{ \begin{tabular}{c} Message arrival rate (msgs/s) \\ \end{tabular}  } & \multirow{3}{*}{9488.00} & \multirow{3}{*}{9488.00} & \multirow{3}{*}{3542.49} & \multirow{3}{*}{3542.49} & \multirow{3}{*}{12,873.00} & \multirow{3}{*}{12,873.00} & \multirow{3}{*}{4633.41} & \multirow{3}{*}{4633.41} \\  & & & & & & & & \\ \hline \multirow{3}{*}{ \begin{tabular}{c} Message size \\ (bytes) \\ \end{tabular}  } & \multirow{3}{*}{100} & \multirow{3}{*}{20} & \multirow{3}{*}{100} & \multirow{3}{*}{20} & \multirow{3}{*}{100} & \multirow{3}{*}{20} & \multirow{3}{*}{100} & \multirow{3}{*}{20} & \multirow{3}{*}{100} & \multirow{3}{*}{20} \\  & & & & & & & & \\ \hline \multirow{3}{*}{ \begin{tabular}{c} The number \\ of messages \\ \end{tabular}