Before changing parameters, I suggest to analyze first where the regarding application thread is currently spending most time while doing the upload.
I simple way to do it is to produce several java-stack-traces while the application is busy. This can be done i.e. by calling kill -3 <pid> (under linux) or by using jconsole. Then take a look at the stacktraces, find out which is the busy thread (doing the upload) and see in which parts of code it is executing the most. -if the thread is almost always waiting on response of the database, then probably your 2nd level cache is not properly configured -if the thread is almost always executing the same lines of code, then try to understand why it is happening. Is the code most time executing hibernate code or your own code? Is the code most time executing in flush or commit, or in executing user-queries you are calling explicitly? ... There are so many scenarios possible, that it is impossible to give the right parameter without knowing what actually happening. (Also a doctor must first probe the patient before prescribing a proper remedy ;-) )
|