## 3.18.1  Network Performance Analysis on Transactional Level
The following section should help you to perform an in-depth investigation on the network performance of specific clients.
## Prerequisites
SYSTEM administrator access using SAP HANA cockpit or hdbsql.
## Procedure
1. Use the monitoring view m_SQL_CLIENT_NETWORK_IO to analyse figures about client and server elapsed time as well as message sizes for client network messages.
##  Sample Code
SELECT * FROM m_SQL_CLIENT_NETWORK_IO
In case a long execution runtime is observed on the application server side and the corresponding connections on the SAP HANA side do not show expensive operations, an overview of the total processing time spent on client side and SAP HANA server side can be retrieved by executing the above SQL query. By default, collection of statistics related to client network I/O is regulated by the following parameter sql_client_network_io in the indexserver.ini file, which must be set to on (true).
Please note that this parameter change implies a certain performance overhead and should only be active for the duration of the troubleshooting activity.
An example result of the above mentioned query is shown here:
| HOST   | PORT CLIENT_HOST   | CONNECTION_ID MESSAGE_ID   | CLIENT_DURATION   | SERVER_DURATION   | SERVER_RECEIVED_TIME            | RECEIVED_MESSAGE_SIZE   |   SEND_MESSAGE_SIZE |
|--------|--------------------|----------------------------|-------------------|-------------------|---------------------------------|-------------------------|---------------------|
|        | 30,040             | 214.859 3,.240             |                   | 854               | 455 29,.02.2016 15.48.53.520621 | 256                     |                 656 |
|        | 30,040             | 214.858                    | 6171              | 816               | 109 29,02.2016 15.48.53.520378  |                         |                 280 |
|        | 30.040             | 214.859                    | 3.241             | 744               | 312 29,02.2016 15.48.53.521513  |                         |                 168 |
|        | 30,040             | 214,872                    | 2,897             | 1.033             | 293 29,02.2016 15.48-53.521145  |                         |                 280 |
|        |                    | 214.859                    | 3,.242            | 3,135             | 365 29,02.2016 15.48.53.524752  |                         |                 640 |
|        | 30,040             | 214.872                    |                   | 3,058             | 258 29,02.2016 15.48.53.525187  |                         |                 280 |
|        |                    | 214.872                    | 2,899             | 585               | 298                             |                         |                 400 |
|        | 30,040             | 214,872                    | 2,900             | 726               | 467                             |                         |                 176 |
|        | 30,040             | 214.872                    | 2,901             | 1,804             | 1517 29,02.2016 15.48.53.527445 | 1                       |                 152 |
|        | 30.040             | 214.872                    | 2902              | 644               | 347 29,02.2016 15.48.53.529759  |                         |                 512 |
|        | 30,040             | 214.872                    | 2903              | 782               | 545                             | 480                     |                 272 |
CLIENT_DURATION and SERVER_DURATION contain the values in microseconds. The difference between CLIENT_DURATION and SERVER_DURATION makes the total transfer time of the result (SEND_MESSAGE_SIZE in bytes). This allows you to see whether the transfer time from the SAP HANA server to the client host is exceptionally high.
2. Run SQL: 'HANA_Network_Clients' from the SQL statement collection attached to SAP Note 1969700 .
Another important KPI is the Round Trip Time (RTT) from server to client. In order to analyze this figure the SQL statement "HANA_Network_Clients" from the collection attached to SAP Note 1969700 can be used. As this SQL statement is using the view m_EXPENSIVE_STATEMENTS, the expensive statements trace needs to be active in the SAP HANA database explorer Trace Configuration :
## Expensive Statements Trace
Description:
If the expensive statements trace is active, all statements that last longer than the specified threshold are traced_
Status:
Inactive
Once the trace is activated and the long-running statements are re-executed, the information to be extracted from the m_EXPENSIVE_STATEMENTS view is STATEMENT_HASH:
With the Statement Hash '7c4a13b071f030f1c0d178ab9cf82c37' (please note that this one is only an example statement hash) of the SQL statement to be analyzed, the SQL 'HANA_Network_Clients' can be modified in a way that a corresponding Statement Hash is used to restrict the selection:
```
 Sample Code … SELECT                       /* Modification section */ TO_TIMESTAMP('1000/01/01 18:00:00', 'YYYY/MM/DD HH24:MI:SS') BEGIN_TIME, TO_TIMESTAMP('9999/12/31 18:10:00', 'YYYY/MM/DD HH24:MI:SS') END_TIME, '%' HOST, '%' PORT, '%' SERVICE_NAME, '%' CLIENT_HOST, '7c4a13b071f030f1c0d178ab9cf82c37' STATEMENT_HASH, . . .*/ FROM DUMMY
```
Which provides the following result:
The KPI AVG_RTT_MS is of importance and should not show values significantly higher than ~ 1,5 ms.
3. For further options, please refer to SAP KBA 2081065 .
## Related Information
```
SAP Note 2081065 SAP Note 1969700
```