Hello,
Please let us know what is the reason for the API being very slow and how to fix it. Sometimes this time is also 8 to 10 seconds.
With this kind of response time we will not be able to take Killbill to our production. This is a blocker for us now.
This is the profiling response for the API with different query params.
{
"rawData": [
{
"name": "JAXRS:1.0/kb/accounts/403e4369-1fe7-4c3e-a297-062f731d0e85/invoicePayments",
"durationUsec": 3498068, "calls": [
{
"name": "API:getAccountById",
"durationUsec": 96162,
"calls": [
{
"name": "DAO_DETAILS:NonEntityDao (type = ACCOUNT) cache miss",
"durationUsec": 2577,
"calls": [
{
"name": "DAO_CONNECTION:get",
"durationUsec": 439
}
]
},
{
"name": "DAO_DETAILS:NonEntityDao (type = ACCOUNT) cache miss",
"durationUsec": 1361,
"calls": [
{
"name": "DAO_CONNECTION:get",
"durationUsec": 96
}
]
},
{
"name": "DAO_CONNECTION:get",
"durationUsec": 177
},
{
"name": "DAO:AccountSqlDao: getByRecordId",
"durationUsec": 68164,
"calls": [
{
"name": "DAO_DETAILS:AccountSqlDao (raw): getByRecordId",
"durationUsec": 68152
}
]
},
{
"name": "API:getAccountById",
"durationUsec": 19794,
"calls": [
{
"name": "DAO_DETAILS:NonEntityDao (type = ACCOUNT) cache miss",
"durationUsec": 5590,
"calls": [
{
"name": "DAO_CONNECTION:get",
"durationUsec": 190
}
]
},
{
"name": "API:getAccountByRecordIdInternal",
"durationUsec": 12565,
"calls": [
{
"name": "DAO_CONNECTION:get",
"durationUsec": 162
},
{
"name": "DAO:AccountSqlDao: getByRecordId",
"durationUsec": 3144,
"calls": [
{
"name": "DAO_DETAILS:AccountSqlDao (raw): getByRecordId",
"durationUsec": 3132
}
]
}
]
}
]
}
]
},
{
"name": "API:getAccountPayments",
"durationUsec": 2903458,
"calls": [
{
"name": "DAO_CONNECTION:get",
"durationUsec": 106
},
{
"name": "DAO:PaymentSqlDao: getByAccountRecordId",
"durationUsec": 107624,
"calls": [
{
"name": "DAO_DETAILS:PaymentSqlDao (raw): getByAccountRecordId",
"durationUsec": 107611
}
]
},
{
"name": "DAO_CONNECTION:get",
"durationUsec": 69
},
{
"name": "DAO:TransactionSqlDao: getByAccountRecordId",
"durationUsec": 96928,
"calls": [
{
"name": "DAO_DETAILS:TransactionSqlDao (raw): getByAccountRecordId",
"durationUsec": 96910
}
]
},
{
"name": "DAO_CONNECTION:get",
"durationUsec": 230
},
{
"name": "DAO:PaymentMethodSqlDao: getPaymentMethodIncludedDelete",
"durationUsec": 173589,
"calls": [
{
"name": "DAO_DETAILS:PaymentMethodSqlDao (raw): getPaymentMethodIncludedDelete",
"durationUsec": 173548
}
]
},
{
"name": "API:getTenantValuesForKey",
"durationUsec": 12962,
"calls": [
{
"name": "DAO_CONNECTION:get",
"durationUsec": 438
},
{
"name": "DAO:TenantKVSqlDao: getTenantValueForKey",
"durationUsec": 8683,
"calls": [
{
"name": "DAO_DETAILS:TenantKVSqlDao (raw): getTenantValueForKey",
"durationUsec": 8672
}
]
}
]
},
{
"name": "DAO_CONNECTION:get",
"durationUsec": 203
},
{
"name": "DAO:TransactionSqlDao: getById",
"durationUsec": 3030,
"calls": [
{
"name": "DAO_DETAILS:TransactionSqlDao (raw): getById",
"durationUsec": 2997
}
]
},
{
"name": "DAO_CONNECTION:get",
"durationUsec": 78
},
{
"name": "DAO:PaymentAttemptSqlDao: getById",
"durationUsec": 111991,
"calls": [
{
"name": "DAO_DETAILS:PaymentAttemptSqlDao (raw): getById",
"durationUsec": 111976
}
]
},
{
"name": "DAO_CONNECTION:get",
"durationUsec": 122
},
{
"name": "DAO:PaymentAttemptSqlDao: getByPaymentExternalKey",
"durationUsec": 2469,
"calls": [
{
"name": "DAO_DETAILS:PaymentAttemptSqlDao (raw): getByPaymentExternalKey",
"durationUsec": 2405
}
]
},
{
"name": "DAO:DAO:NotificationSqlDao:getReadyQueueEntriesForSearchKeys",
"durationUsec": 4
},
{
"name": "DAO_CONNECTION:get",
"durationUsec": 234
}
]
},
{
"name": "API:getInvoicePaymentsByAccount",
"durationUsec": 374275,
"calls": [
{
"name": "DAO_CONNECTION:get",
"durationUsec": 105
},
{
"name": "DAO:InvoicePaymentSqlDao: getByAccountRecordId",
"durationUsec": 184310,
"calls": [
{
"name": "DAO_DETAILS:InvoicePaymentSqlDao (raw): getByAccountRecordId",
"durationUsec": 184294
}
]
}
]
},
{
"name": "API:getAccountAuditLogs",
"durationUsec": 223
}
]
}
]
}
{
"rawData": [
{
"name": "JAXRS:1.0/kb/accounts/403e4369-1fe7-4c3e-a297-062f731d0e85/invoicePayments",
"durationUsec": 2921288,
"calls": [
{
"name": "API:getAccountById",
"durationUsec": 663974,
"calls": [
{
"name": "DAO_DETAILS:NonEntityDao (type = ACCOUNT) cache miss",
"durationUsec": 47150,
"calls": [
{
"name": "DAO_CONNECTION:get",
"durationUsec": 7727
}
]
},
{
"name": "DAO_DETAILS:NonEntityDao (type = ACCOUNT) cache miss",
"durationUsec": 2686,
"calls": [
{
"name": "DAO_CONNECTION:get",
"durationUsec": 142
}
]
},
{
"name": "DAO_CONNECTION:get",
"durationUsec": 251
},
{
"name": "DAO:AccountSqlDao: getByRecordId",
"durationUsec": 293715,
"calls": [
{
"name": "DAO_DETAILS:AccountSqlDao (raw): getByRecordId",
"durationUsec": 293672
}
]
},
{
"name": "API:getAccountById",
"durationUsec": 17774,
"calls": [
{
"name": "DAO_DETAILS:NonEntityDao (type = ACCOUNT) cache miss",
"durationUsec": 2207,
"calls": [
{
"name": "DAO_CONNECTION:get",
"durationUsec": 145
}
]
},
{
"name": "API:getAccountByRecordIdInternal",
"durationUsec": 15023,
"calls": [
{
"name": "DAO_CONNECTION:get",
"durationUsec": 132
},
{
"name": "DAO:AccountSqlDao: getByRecordId",
"durationUsec": 8384,
"calls": [
{
"name": "DAO_DETAILS:AccountSqlDao (raw): getByRecordId",
"durationUsec": 8372
}
]
}
]
}
]
}
]
},
{
"name": "API:getAccountPayments",
"durationUsec": 1813185,
"calls": [
{
"name": "DAO_CONNECTION:get",
"durationUsec": 134
},
{
"name": "DAO:PaymentSqlDao: getByAccountRecordId",
"durationUsec": 310138,
"calls": [
{
"name": "DAO_DETAILS:PaymentSqlDao (raw): getByAccountRecordId",
"durationUsec": 310101
}
]
},
{
"name": "DAO_CONNECTION:get",
"durationUsec": 127
},
{
"name": "DAO:TransactionSqlDao: getByAccountRecordId",
"durationUsec": 194998,
"calls": [
{
"name": "DAO_DETAILS:TransactionSqlDao (raw): getByAccountRecordId",
"durationUsec": 194980
}
]
},
{
"name": "DAO_CONNECTION:get",
"durationUsec": 156
},
{
"name": "DAO:PaymentAttemptSqlDao: getByPaymentExternalKey",
"durationUsec": 154207,
"calls": [
{
"name": "DAO_DETAILS:PaymentAttemptSqlDao (raw): getByPaymentExternalKey",
"durationUsec": 154144
}
]
},
{
"name": "DAO:DAO:NotificationSqlDao:getReadyQueueEntriesForSearchKeys",
"durationUsec": 3743
},
{
"name": "DAO_CONNECTION:get",
"durationUsec": 172
}
]
},
{
"name": "API:getInvoicePaymentsByAccount",
"durationUsec": 362476,
"calls": [
{
"name": "DAO_CONNECTION:get",
"durationUsec": 369
},
{
"name": "DAO:InvoicePaymentSqlDao: getByAccountRecordId",
"durationUsec": 154862,
"calls": [
{
"name": "DAO_DETAILS:InvoicePaymentSqlDao (raw): getByAccountRecordId",
"durationUsec": 154848
}
]
}
]
},
{
"name": "API:getAccountAuditLogs",
"durationUsec": 241
}
]
}
]
}
{
"rawData": [
{
"name": "JAXRS:1.0/kb/accounts/403e4369-1fe7-4c3e-a297-062f731d0e85/invoicePayments",
"durationUsec": 190090,
"calls": [
{
"name": "API:getAccountById",
"durationUsec": 82310,
"calls": [
{
"name": "API:getAccountById",
"durationUsec": 82213,
"calls": [
{
"name": "API:getAccountByRecordIdInternal",
"durationUsec": 82092,
"calls": [
{
"name": "DAO_CONNECTION:get",
"durationUsec": 72724
},
{
"name": "DAO:AccountSqlDao: getByRecordId",
"durationUsec": 5119,
"calls": [
{
"name": "DAO_DETAILS:AccountSqlDao (raw): getByRecordId",
"durationUsec": 5108
}
]
}
]
}
]
}
]
},
{
"name": "API:getAccountPayments",
"durationUsec": 99902,
"calls": [
{
"name": "DAO_CONNECTION:get",
"durationUsec": 110
},
{
"name": "DAO:PaymentSqlDao: getByAccountRecordId",
"durationUsec": 1190,
"calls": [
{
"name": "DAO_DETAILS:PaymentSqlDao (raw): getByAccountRecordId",
"durationUsec": 1180
}
]
},
{
"name": "DAO_CONNECTION:get",
"durationUsec": 241
},
{
"name": "DAO:TransactionSqlDao: getByAccountRecordId",
"durationUsec": 5321,
"calls": [
{
"name": "DAO_DETAILS:TransactionSqlDao (raw): getByAccountRecordId",
"durationUsec": 5312
}
]
},
{
"name": "DAO_CONNECTION:get",
"durationUsec": 126
},
{
"name": "DAO:PaymentMethodSqlDao: getPaymentMethodIncludedDelete",
"durationUsec": 5446,
"calls": [
{
"name": "DAO_DETAILS:PaymentMethodSqlDao (raw): getPaymentMethodIncludedDelete",
"durationUsec": 5437
}
]
},
{
"name": "DAO_CONNECTION:get",
"durationUsec": 142
},
{
"name": "DAO:TransactionSqlDao: getById",
"durationUsec": 1387,
"calls": [
{
"name": "DAO_DETAILS:TransactionSqlDao (raw): getById",
"durationUsec": 1380
}
]
},
{
"name": "DAO_CONNECTION:get",
"durationUsec": 390
},
{
"name": "DAO:PaymentAttemptSqlDao: getById",
"durationUsec": 1346,
"calls": [
{
"name": "DAO_DETAILS:PaymentAttemptSqlDao (raw): getById",
"durationUsec": 1337
}
]
}
]
},
{
"name": "API:getInvoicePaymentsByAccount",
"durationUsec": 4156,
"calls": [
{
"name": "DAO_CONNECTION:get",
"durationUsec": 110
},
{
"name": "DAO:InvoicePaymentSqlDao: getByAccountRecordId",
"durationUsec": 937,
"calls": [
{
"name": "DAO_DETAILS:InvoicePaymentSqlDao (raw): getByAccountRecordId",
"durationUsec": 929
}
]
}
]
},
{
"name": "API:getAccountAuditLogs",
"durationUsec": 11
}
]
}
]
}
{
"rawData": [
{
"name": "JAXRS:1.0/kb/accounts/403e4369-1fe7-4c3e-a297-062f731d0e85/invoicePayments",
"durationUsec": 25519,
"calls": [
{
"name": "API:getAccountById",
"durationUsec": 6753,
"calls": [
{
"name": "API:getAccountById",
"durationUsec": 6456,
"calls": [
{
"name": "API:getAccountByRecordIdInternal",
"durationUsec": 6324,
"calls": [
{
"name": "DAO_CONNECTION:get",
"durationUsec": 1173
},
{
"name": "DAO:AccountSqlDao: getByRecordId",
"durationUsec": 2272,
"calls": [
{
"name": "DAO_DETAILS:AccountSqlDao (raw): getByRecordId",
"durationUsec": 2264
}
]
}
]
}
]
}
]
},
{
"name": "API:getAccountPayments",
"durationUsec": 11263,
"calls": [
{
"name": "DAO_CONNECTION:get",
"durationUsec": 102
},
{
"name": "DAO:PaymentSqlDao: getByAccountRecordId",
"durationUsec": 2047,
"calls": [
{
"name": "DAO_DETAILS:PaymentSqlDao (raw): getByAccountRecordId",
"durationUsec": 2039
}
]
},
{
"name": "DAO_CONNECTION:get",
"durationUsec": 206
},
{
"name": "DAO:TransactionSqlDao: getByAccountRecordId",
"durationUsec": 2354,
"calls": [
{
"name": "DAO_DETAILS:TransactionSqlDao (raw): getByAccountRecordId",
"durationUsec": 2345
}
]
}
]
},
{
"name": "API:getInvoicePaymentsByAccount",
"durationUsec": 5771,
"calls": [
{
"name": "DAO_CONNECTION:get",
"durationUsec": 133
},
{
"name": "DAO:InvoicePaymentSqlDao: getByAccountRecordId",
"durationUsec": 2363,
"calls": [
{
"name": "DAO_DETAILS:InvoicePaymentSqlDao (raw): getByAccountRecordId",
"durationUsec": 2334
}
]
}
]
},
{
"name": "API:getAccountAuditLogs",
"durationUsec": 9
}
]
}
]
}