Skip to main content
Inspiring
December 4, 2019
Question

CF2018 CFFile Slower

  • December 4, 2019
  • 3 replies
  • 3185 views

We seem to be easily be able to reproduce an issue with CFFile in CF 2018.

 

Doing a simply copy action on a file in 2018 seems to be 3-4 times slower then CF 11.

 

When doing this on a local file it can take around 1-2ms to copy but on CF2018 this can take up to 15ms.

 

The issue is worse where we use it as we copy using S3:/ - this can be the difference of 300ms on CF11 to 900ms on CF 2018

 

When dealing with a lot of images, these increases can make things take a lot longer.

 

 

So the question is, has something changed in the recent version of CF to cause a CFFile to work differently?

 

We are testing on Windows Server 2012 with CF 11 HF 18 and CF 2018 HF 6

 

We have done the same test on Windows Server 2016 with the same results.

 

All have the same JVM settings and specs.

 

Two fresh installs on different servers and one upgrade, all produce the same results.

 

 

Any ideas before I submit a bug. Just incase I am missing anything obvious.

This topic has been closed for replies.

3 replies

haxtbhAuthor
Inspiring
December 6, 2019

For reference, submitted a bug - https://tracker.adobe.com/#/view/CF-4206264

 

 

BKBK
Community Expert
Community Expert
December 14, 2019

I have voted in the tracker. 

In the meantime, as you're on Windows, here's an idea you could test:

<cfset startTime=getTickCount()>

<!--- The * at the end is vital for copying a file --->
<cfexecute name="C:\Windows\System32\xcopy.exe" 
arguments="C:/Temp/testimg1.JPG C:/Temp/testimg2.JPG*" timeout="20">
</cfexecute>

Execution time = <cfoutput>#getTickCount() - startTime#</cfoutput> milliseconds.

 

to compare with your existing code,

 

<cfset startTime=getTickCount()>
<cffile action = "copy" source = "C:/Temp/testimg1.JPG" destination = "C:/Temp/testimg2.JPG">
Execution time = <cfoutput>#getTickCount() - startTime#</cfoutput> milliseconds.

 

 

 

 

haxtbhAuthor
Inspiring
December 14, 2019

Thanks for the vote and the idea.

 

This mainly affects us on S3 transfers though. We do very few local transfers, I just included these as part of the testing for the issue.

 

Could be that a third party option for S3 will be required. Which is a pain as we need to change a load of stuff!

 

 

James Moberg
Inspiring
December 4, 2019

I was complaining about S3 (& regular file) performance back in 2015.  We use Windows too and I found a third-party portable command line (CLI) executable called S3Express that was so much better for our needs.  Here's the comparison:

 

27mb ZIP Upload to S3 Comparison
Adobe ColdFusion 10: 110 seconds
AmazonS3 CLI: 40 seconds
S3Express: 16 seconds

 

Here's the sample CFML code.
https://gist.github.com/JamoCA/727120f97b33fed5528a

 

For bulk copying files, we switched using an executable called FastCopy.

Charlie Arehart
Community Expert
Community Expert
December 4, 2019

There's no obvious difference to make CFFILE copy ops slower in CF2018 vs 11, no.

 

But while you've done well to do your comparison on the same machine, I wonder if you may find that there's a difference between CF11 and 2018 that you are not considering, and indeed one that cold be of your own doing, during the install of CF2018. For instance, it offers a new choice (that I think 11 did not) about dev/production/prod+secure. And while CF11 (and 10, even) offered the "secure profile" option, maybe you didn't take it in 11 but did in 2018.

 

Or there may well be some other difference in the Admin/configuration of CF. Fortunately, those "secure profile" differences as well as all other CF admin differences would be readily observable in the CF admin "settings summary" page, in both versions. In fact, if you copy the text (of that frame in the CF Admin) into any good compare tool, you can readily spot differences--and even doing such a comparison of such different versions of CF will look good, especially in my favored tool for the job, Beyond Compare. 

 

Let us know if you can do that such a comparison, or if something else I say may have triggered something else for you to consider.

/Charlie (troubleshooter, carehart. org)
haxtbhAuthor
Inspiring
December 4, 2019

Thanks for the reply Charlie.

 

I should have mentioned that I did check the secure profile side of things. I have done a comparison of all the setttings too (those that exist in both)

 

There seems to be no difference, although that is why I wanted to ask here first in case there could be a specific setting that may cause an issue with CFFile. 

 

I even backed up the settings from CF11 and restored on CF2018 (car file) to see if any difference was made there.