konveyor/tackle-container-advisor

Performance Bottleneck on Compose App

Closed this issue · 2 comments

The recommendation has some bottlenecks. It takes .6 sec for processing 1 record. This is only for compose-app module. The rest of the modules are pretty fast. Thanks to @Salai123 for reporting it.

Older code with old mentions (2k+)

Request Received 1631602243.2549899
Triggered Planning 1631602243.2552867
call containerization plan  1631602243.3072283
detect access token 1631602243.3079007
detected access token 1631602243.3079774
composed app 1631602243.4333582
missing infer tech 1631602243.4339461
app validate 1631602243.434026
assessment ui 1631602243.4362257
planning ui 1631602243.4396195
return final response  1631602243.4432805

New Code with new mentions (6k+)

Request Received 1631609691.3319073
Triggered Planning 1631609691.3320363
call containerization plan  1631609691.3685682
detect access token 1631609691.368657
detected access token 1631609691.368682
composed app 1631609691.911315
app validate 1631609691.911479
assessment ui 1631609691.9115021
return final response  1631609691.9117076

Adding multiprocessing gives the following performance.

#-------serial processing-------

(base) kaliaanup@Anups-MacBook-Pro TCA_Peformance % python aca.py 1 1   
Payload size :  1 records
No of concurrent user :  1
User 1 Time taken  : 0.2s Response Code : 201
Passed - 1/1
(base) kaliaanup@Anups-MacBook-Pro TCA_Peformance % python aca.py 1 10
Payload size :  10 records
No of concurrent user :  1
User 1 Time taken  : 1.83s Response Code : 201
Passed - 1/1
(base) kaliaanup@Anups-MacBook-Pro TCA_Peformance % python aca.py 1 100
Payload size :  100 records
No of concurrent user :  1
User 1 Time taken  : 17.19s Response Code : 201
Passed - 1/1
(base) kaliaanup@Anups-MacBook-Pro TCA_Peformance % python aca.py 1 200
Payload size :  200 records
No of concurrent user :  1
User 1 Time taken  : 35.9s Response Code : 201
Passed - 1/1
(base) kaliaanup@Anups-MacBook-Pro TCA_Peformance % python aca.py 1 1000
Payload size :  1000 records
No of concurrent user :  1
User 1 Time taken  : 178.54s Response Code : 201
Passed - 1/1
(base) kaliaanup@Anups-MacBook-Pro TCA_Peformance % 

#-------parallel processing--------
#-------2 cores-------------------

(base) kaliaanup@Anups-MacBook-Pro TCA_Peformance % python aca.py 1 1
Payload size :  1 records
No of concurrent user :  1
User 1 Time taken  : 0.24s Response Code : 201
Passed - 1/1
(base) kaliaanup@Anups-MacBook-Pro TCA_Peformance % python aca.py 1 10
Payload size :  10 records
No of concurrent user :  1
User 1 Time taken  : 1.84s Response Code : 201
Passed - 1/1
(base) kaliaanup@Anups-MacBook-Pro TCA_Peformance % python aca.py 1 100
Payload size :  100 records
No of concurrent user :  1
User 1 Time taken  : 11.27s Response Code : 201
Passed - 1/1
(base) kaliaanup@Anups-MacBook-Pro TCA_Peformance % python aca.py 1 200
Payload size :  200 records
No of concurrent user :  1
User 1 Time taken  : 18.46s Response Code : 201
Passed - 1/1
(base) kaliaanup@Anups-MacBook-Pro TCA_Peformance % python aca.py 1 1000
Payload size :  1000 records
No of concurrent user :  1
User 1 Time taken  : 94.51s Response Code : 201
Passed - 1/1
(base) kaliaanup@Anups-MacBook-Pro TCA_Peformance %

#-------4 cores--------

(base) kaliaanup@Anups-MacBook-Pro TCA_Peformance % python aca.py 1 1       
Payload size :  1 records
No of concurrent user :  1
User 1 Time taken  : 0.26s Response Code : 201
Passed - 1/1
(base) kaliaanup@Anups-MacBook-Pro TCA_Peformance % python aca.py 1 10
Payload size :  10 records
No of concurrent user :  1
User 1 Time taken  : 1.95s Response Code : 201
Passed - 1/1
(base) kaliaanup@Anups-MacBook-Pro TCA_Peformance % python aca.py 1 100
Payload size :  100 records
No of concurrent user :  1
User 1 Time taken  : 6.19s Response Code : 201
Passed - 1/1
(base) kaliaanup@Anups-MacBook-Pro TCA_Peformance % python aca.py 1 200
Payload size :  200 records
No of concurrent user :  1
User 1 Time taken  : 12.48s Response Code : 201
Passed - 1/1
(base) kaliaanup@Anups-MacBook-Pro TCA_Peformance % python aca.py 1 1000
Payload size :  1000 records
No of concurrent user :  1
User 1 Time taken  : 51.28s Response Code : 201
Passed - 1/1
(base) kaliaanup@Anups-MacBook-Pro TCA_Peformance % 

This has been resolved.