[Update : SOLVED]
On an Absolute and Total Freak Accident : I solved it.
The bottom line answer is server.xml should be in XLM Format that would pass a parsing test.
@erick had most of the answer in his reply about : packetSize=“65536” - This is CRITICAL: so Many Thanks!
– Upload of 10MB now 300ms
– Upload of 80MB now 3-4 seconds
Some Detail:
This covers 2 known issues:
— this Slow File Upload issue…
— and The 1-Second Delay issue
Both are related to the format of : server.xml
Typical Path : C:\lucee\tomcat\conf\server.xml
Being a neat freak about code I got sick of all the commentary in the file. So I stripped it down inadvertently resulting in a properly formatted XML File. This was totally unexpected because I had been tweaking the file for days and any syntax error would keep Tomcat from starting. And typically an XML dependent operation will throw an error if not properly formatted.
So, apparently Tomcat IS Filtering Most comments and Line Breaks : But Not All : It is not Perfect. Tomcat should Enforce XML compliance (As IIS Does)… or Not. . It’s nice to be able to comment in files… but this cost me 3 days.
This also had the unexpected effect of solving the 1 second delay issue which was previously solved by changing out name=“127.0.0.1” - TO - name=“::1” … to solve the 1-second delay issue. That was a big hassled because it was cutting off access to the default Lucee Admin (which is probably a good security thing anyway). I’ll admit I was close to giving up and accepting 3 seconds on 10MB and up to 2+ minutes on an 80MB… but I’ve never quit on something like this and shouldn’t start now. If I dump even 50 users on there that are uploading constantly that would be a lot of overhead that doesn’t need to happen.
I may write a more detailed solution summary if I can spare the time.
Many Thanks to everyone that helped!
I will attempt to paste my code and I don’t care about the secret because it’s just a local VM on my desk
<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="8888" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector protocol="AJP/1.3" port="8009" secretRequired="true" redirectPort="8443" packetSize="65536" secret="095bf67d8"/>
<Engine name="Catalina" defaultHost="127.0.0.1">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
</Realm>
<Host name="127.0.0.1" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
<Valve className="mod_cfml.core" loggingEnabled="false" maxContexts="200" timeBetweenContexts="2000" scanClassPaths="false" responseCode="307" sharedKey="a2e54e57cb4b"/>
</Host>
</Engine>
</Service>
</Server>