Details
-
Bug
-
Resolution: Fixed
-
High
-
4.6.0
-
Ibexa Experience
Description
When loading Dashboard, curl_multi_select performed by Ibexa News block, which fetches RSS from ibexa.co, is affecting performance. The cost on prod environment of a local Symfony CLI server (no xdebug, no redis, no varnish) is between 15% and 19%[1] of total request cost. Caching the response should increase the Dashboard loading performance.
Profiles:
- https://blackfire.io/profiles/f7b61b36-65c4-4da6-995d-50d4d3c94c55/graph
- https://blackfire.io/profiles/7f4a2cc6-a4a7-47a7-97e3-dffb7e09f806/graph
[1] That data is based on 2 random profiles, so might not be accurate, but shows that there's something significant to gain there
Steps to reproduce
- Install clean instance of Ibexa Experience or Commerce 4.6.0
- Go to the Customizable Dashboard (default one includes Ibexa News)
Actual result
Observe that every time the Dashboard page is loaded, it takes some time.
Expected result
Observe that after the fix, the page loading is faster due to caching.
Confirming that the result is cached requires mocking of https://www.ibexa.co/rss/feed/my_feed?tag=62 response and changing ibexa.dashboard.ibexa_news.url Container parameter to a mocked URL. Change of the response should not be visible within configured ibexa.dashboard.ibexa_news.cache.ttl time (default: 24 hours) unless cache is cleared.