vttranlina commented on PR #2514:
URL: https://github.com/apache/james-project/pull/2514#issuecomment-2499627018

   ## Performance test result
   I noticed that the overall performance did not change significantly.
   Some results even showed improvements, but in my opinion, the differences 
are not very clear.
   
   (likely due to from infrastructor the test environment leading to variations 
in results across repeated runs of the same test scenario.)
   
   Detail: 
   ### Gatling result
   - with IMAP, 10k user, Duration= 30 minutes 
   
![image](https://github.com/user-attachments/assets/3cd785e9-0f83-4712-98cd-b6b428756548)
   
   ### Metric
   - Before
   ```
   postgres_execution{quantile="0.5",} 0.001622015
   postgres_execution{quantile="0.75",} 0.0028016630000000002
   postgres_execution{quantile="0.95",} 0.021495807000000002
   postgres_execution{quantile="0.98",} 0.07864319900000001
   postgres_execution{quantile="0.99",} 0.149946367
   postgres_execution{quantile="0.999",} 0.599785471
   postgres_execution_count 3355670.0
   ```
   - After
   ```
   postgres_execution{quantile="0.5",} 0.0017530870000000002
   postgres_execution{quantile="0.75",} 0.0025722870000000004
   postgres_execution{quantile="0.95",} 0.005931007
   postgres_execution{quantile="0.98",} 0.009895935
   postgres_execution{quantile="0.99",} 0.016056319
   postgres_execution{quantile="0.999",} 0.057147391000000006
   postgres_execution_count 2591175.0
   ```
   
   ### pg_stat_statement
   1.  Focus to pagination query
   
   **A. Before**
   ```sql
   select * from message_mailbox where( mailbox_id = cast($1 as uuid) and 
is_recent = $2) order by message_uid asc
   ```
   - mean_exec_time = 0.36819846626378827
   - total_exec_time = 18826.72397700015
   - calls = 51132
   
   ```sql
   select * from message_mailbox where( mailbox_id = cast($1 as uuid) and 
message_uid >= $2 and message_uid <= $3) order by message_uid asc
   ```
   
   - mean_exec_time = 0.08792518239753881
   - total_exec_time = 2400.621255000017
   - calls = 27303
    
   **B. After**
   
   ```sql
   select * from message_mailbox where( mailbox_id = cast($1 as uuid) and 
is_recent = $2) order by message_uid asc offset $3 rows fetch next $4 rows only
   ```
   - mean_exec_time = 0.12503941170118069
   - total_exec_time = 6599.705188999946
   - calls = 52781
   
   ```sql
   select * from message_mailbox where( mailbox_id = cast($1 as uuid) and 
message_uid >= $2 and message_uid <= $3) order by message_uid asc offset $4 
rows fetch next $5 rows only
   ```
   
   - mean_exec_time = 0.044664966889503485
   - total_exec_time = 2455379999974
   - calls = 57142
   
   
   3. Overview
   - Before
   
![image](https://github.com/user-attachments/assets/f87bf545-0d62-4ad2-a07d-8526a615f430)
   
   - After
   
![image](https://github.com/user-attachments/assets/24ef91b8-db68-4a35-8585-d6892b1ff826)
   
   
   // File Result Details: 
https://github.com/vttranlina/vttranlina.github.io/tree/main/gatling_20241126
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to