On 04/03/2016 11:17, Tullio Bettinazzi wrote:
> This servlet reproduces the problem perfectly.

Getting better but still some room for improvement.
- You don't need to implement doPost()
- You don't need to call System.gc() (or if you do look there for
  the problem)
- You do need to remove the use of the ComunicationChannelHttp and
  Cronometro classes (and if that fixes the problem look there
  for the root cause)
- The try/catch in doGet() should not be necessary either

Mark

> package axioma.rubik.engine.web.servlet;
> 
> import java.io.*;
> import javax.servlet.ServletException;
> import javax.servlet.annotation.WebServlet;
> import javax.servlet.http.*;
> import axioma.rubik.engine.web.ComunicationChannelHttp;
> import it.axioma.rubik.engine.Cronometro;
> 
> @WebServlet(name="Test8", description="Direct update of data", 
> urlPatterns={"/Test8"})
> public class Test8Servlet extends HttpServlet {
>     
>     private static final long serialVersionUID = 1L;
>     
>     @Override
>     protected void doPost(HttpServletRequest request, HttpServletResponse 
> response) throws ServletException, IOException {
>         this.doGet(request,response);
>     }
> 
>     @Override
>     protected void doGet(HttpServletRequest request, HttpServletResponse 
> response) throws ServletException, IOException {
>         try {
>             fai(response);
>             System.gc();
>         } catch (Exception ex) {
>             ex.printStackTrace();
>         }
>         ComunicationChannelHttp.CONTEXT_MANAGER.clean();
>     }
> 
>     public void fai(HttpServletResponse response) {
>         Cronometro crono = new Cronometro();
>         ByteArrayOutputStream bbs = new ByteArrayOutputStream();
>         BufferedOutputStream bos = new BufferedOutputStream(bbs);
>         try {
>             for(int i = 0; i < 400000; i++) {
>                 bos.write(96);
>             }
>             bos.flush();
>             System.out.println("Step 1 : "+crono.elapsed());
>             bbs.writeTo(response.getOutputStream());
>             System.out.println("Step 1 : "+crono.elapsed());
>         } catch (IOException ex) {
>             ex.printStackTrace();
>         }
>     }
> 
> }
> 
> 
>> Subject: Re: Performance regression from 7 to 8
>> To: users@tomcat.apache.org
>> From: ma...@apache.org
>> Date: Fri, 4 Mar 2016 10:38:30 +0000
>>
>> On 04/03/2016 10:24, Tullio Bettinazzi wrote:
>>> The problem is all in this small piece of code
>>>         ByteArrayOutputStream bbs = new ByteArrayOutputStream();
>>>         BufferedOutputStream bos = new BufferedOutputStream(bbs);
>>>         trans.eseguiTrasformazioneOut(bos);
>>>         try {
>>>             bos.flush();
>>>             initReponse(xpFileTypeOut.getMimeType(), xpFilename);
>>>             bbs.writeTo(getOutputStream());
>>>         } catch (IOException ex) {
>>>             Messaggi.getErrori().getLogger().error("Errore in emettiFile ", 
>>> ex);
>>>         }
>>> The yellow instruction take 100 ms in Tomcat7, quite stable on all clients, 
>>> in Tomcat8 it takes from 50 ms to 4500 ms stable on a single client PC but 
>>> very different from client to client.
>>> Tks
>>> Tullio
>>
>> I'll repeat what I said previously:
>>
>> Try creating the *simplest possible* web application that demonstrates the
>> problem.
>>
>> Mark
>>
>>>
>>>> Subject: Re: Performance regression from 7 to 8
>>>> To: users@tomcat.apache.org
>>>> From: ma...@apache.org
>>>> Date: Fri, 4 Mar 2016 09:42:22 +0000
>>>>
>>>> On 04/03/2016 09:39, Tullio Bettinazzi wrote:
>>>>> I applied tour suggestion and analyzed, with firebug, the composition of 
>>>>> the time.
>>>>> The difference between 7 and 8 is the "receiving" time which is more or 
>>>>> less zero in 7 and 2sec. in 8.
>>>>> How can I understand such difference ?
>>>>
>>>> Try creating the simplest possible web application that demonstrates the
>>>> problem.
>>>>
>>>> Mark
>>>>
>>>>
>>>>> Tks
>>>>> Tullio
>>>>>
>>>>>
>>>>> P.S. : same server, same client, same network, same code both 7 and 8 
>>>>> installed from scratch
>>>>>
>>>>>> Subject: Re: Performance regression from 7 to 8
>>>>>> To: users@tomcat.apache.org
>>>>>> From: geor...@mhsoftware.com
>>>>>> Date: Thu, 3 Mar 2016 09:30:33 -0700
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 3/3/2016 4:06 AM, Tullio Bettinazzi wrote:
>>>>>>> I've an application in which I write a page from a Buffered Stream 
>>>>>>> directly to the Servlet output stream (more or less 300kb).
>>>>>>>
>>>>>>> In 7 it works perfectly (100ms).
>>>>>>>
>>>>>>> In 8 , depending from the network connection and mainly from the
>>>>>>> http client itself (the browser in the PC) the same operation takes from
>>>>>>>   50ms to 4500 ms.
>>>>>>
>>>>>> One of the things I would look at is the browser debug window. Open the 
>>>>>> debugger, and go to the Networks/Timings tab and load both pages. That 
>>>>>> would give some insights as to what's happening. Perhaps it is the page. 
>>>>>> Perhaps there's something else.
>>>>>>
>>>>>>>
>>>>>>> On the same PC I find more or less the same time using Chrome and 
>>>>>>> Firefox also changing network connections (wifi, lan, adsl).
>>>>>>>
>>>>>>> Could someone suggest a solution ?
>>>>>>>
>>>>>>> Tks
>>>>>>> Tullio
>>>>>>>                                         
>>>>>>
>>>>>> -- 
>>>>>> George Sexton
>>>>>> *MH Software, Inc.*
>>>>>> Voice: 303 438 9585
>>>>>> http://www.connectdaily.com
>>>>>                                     
>>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>>>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>>>
>>>                                       
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>
>                                         
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to