task #4009
opentask #6992: Refactor and modernize REST web service API
consider using jackson as json library
0%
Description
using jackson instead of json-lib may have an significant impact on the REST service performance:
perfomance of json-lib by comparig two REST service calls:
- generic service:
ab -n 20 'http://127.0.0.1:8080/description/distributionInfoFor/0eb6ca37-3365-4af5-a800-8fc4b8c366fa.json?statusOrderPreference=1&subAreaPreference=1&hideMarkedAreas=70ceb5bc-3413-4b4e-8ef3-de29d06a42a5&part=mapUriParams&part=tree&part=elements'
31kb / response
Max time: 1,991s
Min time: 0.766s
Average: 0,854s
- portal service:
ab -n 20 'http://127.0.0.1:8080/portal/description/distributionInfoFor/0eb6ca37-3365-4af5-a800-8fc4b8c366fa.json?statusOrderPreference=1&subAreaPreference=1&hideMarkedAreas=70ceb5bc-3413-4b4e-8ef3-de29d06a42a5&part=mapUriParams&part=tree&part=elements'
500kb /response
Max time: 3,689s
Min time: 1,133s
Average: 1,325s
It looks like the amount of objects to be serialized is consuming an significant amount of time.
further incidence is given by the following benchmark results:
http://www.cowtowncoder.com/blog/archives/2009/02/entry_213.html
http://www.cowtowncoder.com/perf/json-count-2009-02-20-2cpus/index.html
For further evidence see [#4925#note-7]
additional TODO once this is done perform the measurements taken for #4925
for spring configuration see: https://docs.spring.io/spring-boot/docs/current/reference/html/howto.html#howto.spring-mvc.customize-jackson-objectmapper
Related tickets:
- Duplicate #3440
Related issues
Updated by Andreas Müller almost 9 years ago
- Target version set to cdmlib-remote cleanup
Updated by Andreas Kohlbecker almost 9 years ago
- Target version changed from cdmlib-remote cleanup to cdmlib - Next Major Release
- Priority changed from Priority08 to Priority14
- Severity changed from normal to major
increasing severity and priority as this issue has shown to be last big culprit for bad performance in #4925
Updated by Andreas Kohlbecker almost 9 years ago
- Target version deleted (
cdmlib - Next Major Release)
Updated by Andreas Müller almost 9 years ago
- Target version set to Release 3.8
- Priority changed from Priority14 to Highest
Updated by Andreas Müller almost 9 years ago
- Severity changed from major to critical
Updated by Andreas Kohlbecker over 8 years ago
- Target version changed from Release 3.8 to cdmlib-remote cleanup
Updated by Andreas Kohlbecker over 6 years ago
- Description updated (diff)
- Private changed from Yes to No
Updated by Andreas Kohlbecker over 6 years ago
- Related to bug #3480: tagged text with square bracket confuses json added
Updated by Andreas Müller about 3 years ago
- Related to task #9359: Update cdmlib, taxeditor, cdmserver etc. dependencies added
Updated by Andreas Müller about 2 years ago
- Assignee changed from Andreas Kohlbecker to Andreas Müller
- Target version changed from cdmlib-remote cleanup to Release 5.44
Updated by Andreas Müller about 2 years ago
- Related to bug #6179: Use @RestController where appropriate added
Updated by Andreas Müller over 1 year ago
- Related to task #10055: Updates, upgrades and cleanup 2023 added