Итак, как гласит мое название, у меня есть программа ColdFusion, которая использовала 10 минут для запуска на нашем сервере, но теперь работает в < 15 секунд. Смутившись, почему такая простая программа занимала 10 минут, и мой босс осмотрел ее, чтобы выяснить раздел culprit
кода, вызывающий замедление. Мы закончили тем, что переходим от 10 минут к 5-10 секунд для запуска.
Теперь мы не знаем, почему исправление является исправлением, поэтому мы хотели узнать, может ли кто-нибудь объяснить нам, почему/как это работает, чтобы мы могли понять исправление, чтобы мы могли использовать ускорение в рамках других программ.
Начало этой программы - это запрос, который захватывает ~ 4800 записей (ничего не возмутительно). Затем мы перебираем эти записи, которые мы выяснили, это медленный раздел. Вот пример того, что у нас было, и что мы сделали, чтобы исправить это. TextString устанавливается вверху запроса рядом с заголовками полей, которые мы возвращаем.
Старый код:
<cfloop>
<CFSET TextString = TextString & DriverID & TabChar & LocalSSN & TabChar & FirstName & CarriageReturn & LineFeed>
</cfloop>
Фиксированный код:
<cfloop>
<CFSET LocalTextString = "">
<CFSET LocalTextString = LocalTextString & DriverID & TabChar & LocalSSN & TabChar & FirstName & CarriageReturn & LineFeed>
<CFSET TextString = TextString & LocalTextString>
</cfloop>