First request after GDK server started is slow
The first call to ActionController::Base.helpers.asset_path
is very slow.
See: https://gitlab.com/gitlab-org/gitlab-ce/issues/38930#note_42842218
Benchmark.realtime { ActionController::Base.helpers.asset_path('katex.css') }
# => 12.95950100000482
Benchmark.realtime { ActionController::Base.helpers.asset_path('katex.css') }
#=> 0.000674000009894371
and profile: https://gitlab.com/gitlab-org/gitlab-ce/uploads/c412e958375605e92910de005d958d82/1507563204.html from https://gitlab.com/gitlab-org/gitlab-ce/issues/38930#note_42842694
Most time took from Sprockets::PathUtils#stat_directory
Original description:
The gon
object has a bunch of info in it that we don't use on every request and if we aren't using it then we shouldn't query for it. We should store it in data attrs on an as needed basis.
This one line consistently (tested 4 times so far) takes up all the start up time.
I think this is one of the major things making the GDK start slow.
Edited by Lin Jen-Shin