Révision 9d39d328
b/papers/2014/kwapi/cloudam2014.tex | ||
---|---|---|
162 | 162 |
|
163 | 163 |
\section{Performance Evaluation} |
164 | 164 |
|
165 |
We can evaluate Kwapi in terms of CPU and network usage. |
|
166 |
|
|
167 |
We have run kwapi-drivers and kwapi-api on a machine with a Core 2 Duo P8770 2.53Ghz processor, and 4GB of RAM. |
|
168 |
|
|
169 |
We have simulated 1000 IPMI cards, each one monitored by one driver thread and emitting one value per second on the bus. Then we have simulated 100 PDUs with 10 outlets, each one monitored by one driver thread and emiting ten values per second on the bus. So in each scenarii, 1000 values per second are emitted on the bus. |
|
170 |
|
|
171 |
We did multiple simulations with different parameters (table \ref{parameters_table}). |
|
172 |
|
|
173 |
\begin{table} |
|
174 |
\renewcommand{\arraystretch}{1.3} |
|
175 |
\caption{Parameters} |
|
176 |
\label{parameters_table} |
|
177 |
\centering |
|
178 |
\begin{tabular}{|l|l|} |
|
179 |
\hline |
|
180 |
\bfseries Name & \bfseries Values\\ |
|
181 |
\hline |
|
182 |
Driver threads & 100 or 1000\\ |
|
183 |
Signature & on or off\\ |
|
184 |
Socket & IPC or TCP\\ |
|
185 |
\hline |
|
186 |
\end{tabular} |
|
187 |
\end{table} |
|
188 |
|
|
189 |
\subsection{CPU} |
|
190 |
We have measured the CPU impact of the different parameters. |
|
191 |
The socket type and the number of driver threads have no impact on the CPU consumption. |
|
192 |
On our machine, kwapi-drivers without signing enabled consumed around 20\% of the total CPU power. |
|
193 |
And kwapi-api consumed around 10\% without signing enabled and 16\% with one request per second querying all probes. |
|
194 |
Signing the message increases the CPU usage by 30\%. |
|
195 |
The CPU usage depends very much on the drivers, plugins amount and complexity, and on the signing of messages (enabled or not). |
|
196 |
If it lacks compute power, it is easy to add another machine with kwapi-drivers. |
|
197 |
|
|
198 |
\subsection{Network} |
|
199 |
Our experiments shows a consumption of around 230KBytes/s with the message signing enabled and a consumption of 135KBytes/s otherwise. Signing induces an overhead of 70\%. |
|
200 |
|
|
201 |
To decrease the header overhead, it is better to send large packets. ZeroMQ has its own optimization mechanism: if several drivers send metrics simultaneously, ZeroMQ aggregates them in one TCP datagram. In our experiments, some packets contain up to fourty metrics. |
|
202 |
The metrics are Json dictionaries, which has the advantage of being human readable and easily parsable, while keeping a very small surcharge. The size of those dictionaries may vary, depending on the number of fields set by the drivers (signing add some overhead), while the ACKs have a fixed size of 66 bytes (on a TCP link). In a simple architecture where kwapi-drivers and kwapi-api are on the same machine, the network traffic is null if Kwapi is configured to use an IPC socket. |
|
203 |
|
|
204 |
The plugins can select the probes they want to watch, so any useless traffic is eliminated. |
|
205 |
|
|
165 | 206 |
% ---------------------------------------------------------------------------------------- |
166 | 207 |
|
167 | 208 |
\section{Conclusion} |
Formats disponibles : Unified diff