tracker issue : CF-4207069

select a category, or use search below
(searches all categories and all time range)

Very slow startup time CF2018 update 6 and above - compiler issue?

| View in Tracker

Status/Resolution/Reason: To Track//NeedMoreInfo

Reporter/Name(from Bugbase): Doug C. / ()

Created: 02/13/2020

Components: General Server, Performance

Versions: 2018

Failure Type: Performance Issue

Found In Build/Fixed In Build: 2018 update 6 and above /

Priority/Frequency: Normal / All users will encounter

Locale/System: English / Win 2016

Vote Count: 2

Problem Description:

It looks like u6 has introduced a significant overhead to the compiler, I would guess with the new fat arrow parsing (props to John Whish for that thought).
2018 u6 – 550,000 + ms startup
2018 u4 – 130,000 ms startup
2016 u13 – 110,000 ms startup
2011 u19 – 115,000 ms startup
U6 has nearly a 5x slowdown!

Image is a stack trace of an initial request being processed on startup

Steps to Reproduce:

John Whish has helpfully created a test suite that highlights the issue. He has added it git hub here:
If you grab the source and follow the instructions in the it will use command box to grab test box and run a simple set of tests – these are purely for this exercise and simply create a lot of cfc’s with functions that don’t really do anything.

We suspect this is a compiler issue related to the introduction of fat arrow syntax in update 6

Actual Result:
If I run this on my setup I see cf2018 u6 takes around 80,000ms on its first run

Expected Result:
On cf2018 u4 it takes 40,000ms on first run.

Any Workarounds:
Use cf2018 u4 - but this is unacceptable as u6+ includes several security fixes



I've noted slower startup times as well, but I didn't measure them before and after. I was attributing them to a the server having minimal resources. I am running CF18u6 on a m5.large at AWS and getting about 7 minute startup times. This has been causing issues with an auto-scaling infrastructure.
Comment by Wil G.
33115 | February 13, 2020 04:31:16 PM GMT
Adding my vote. I created the test suite as we wanted to be able to prove it wasn't environmental.
Vote by John W.
33116 | February 13, 2020 04:46:53 PM GMT
This is an issue, as Wil described, not only with auto-scaling EC2 instances at AWS but in general. We should expect fast start up times for an Enterprise level service.
33117 | February 13, 2020 05:42:22 PM GMT
Doug, I understand, the issue is the time CF takes to process the first cfm request post server startup, and not really the time it takes for the server to start up. I've tried the test cf_compiler_test-master/run_tests.cfm on a commandbox based CF. I don't see the issue. not sure what if I'm missing something in the steps in the readme doc. How are you recording the time taken to process the request. If you are going by the timestamps logged in the CF logs.. can you share the log as well. my browser records a time of ~176 ms to load cf_compiler_test-master/run_tests.cfm post startup. and ~1s if the template cache is cleared (using the test cfm, not CF admin) Below are some details from the setup I tried this on: CommandBox:ApSvrs> version CommandBox 4.8.0+00059 CommandBox:ApSvrs> server info cf2018 cf2018 (stopped) --> C:\ApSvrs\ CF Engine: adobe 2018.0.05+315699
Comment by Piyush K.
33188 | February 25, 2020 05:03:33 PM GMT