Mostra notizie nelle discussioni
  • Avatar
    ☺
    Scritto da
    ::1
    il 2015-06-24 08:09:00.0 alle 2015-06-24 08:09:00.0
    Trollate totali: 12321
    tavolo tecnico: problemi di performances fdt
    La cronologia ci mette dai 4 ai 5 secondi per venire generata. Ho lanciato un optimize table su tutte le tabelle ma non ha avuto alcun effetto.
    Che si fa? Ci sono altre ottimizzazioni che possiamo provare lato mysql?
    Inseriamo dei workaround nel codice o nella struttura della banca dati (tipo view, cache, altro...)?
    Partizionamento db?

    **Modificato dall'autore il 24.06.2015 08:10**
    Young professional woman and busy mom.
    • Avatar
      ☺
      Scritto da
      il 2015-06-24 08:21:05.0 alle 2015-06-24 08:21:05.0
      Trollate totali: 42885
      Re: tavolo tecnico: problemi di performances fdt
      Scritto da: ::1

      > La cronologia ci mette dai 4 ai 5 secondi per venire generata.

      Ma e' un problema attuale o c'e' sempre stato ?
      Perche' ci mette cosi' tanto ? Qual'e' il punto debole della query ? E' colpa di jooq ?

      > Che si fa? Ci sono altre ottimizzazioni che possiamo provare lato mysql?

      $indianoAttaccabrighe dice che un indice fa sempre bene Geek
      `"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
      • Avatar
        ☺
        Scritto da
        ::1
        il 2015-06-24 08:30:07.0 alle 2015-06-24 08:30:07.0
        Trollate totali: 12321
        Re: tavolo tecnico: problemi di performances fdt
        Scritto da: Giambo
        > Scritto da: ::1
        >
        > > La cronologia ci mette dai 4 ai 5 secondi per venire generata.
        >
        > Ma e' un problema attuale o c'e' sempre stato ?

        Ultimi giorni.

        > Perche' ci mette cosi' tanto ? Qual'e' il punto debole della query ? E' colpa di jooq ?

        Non lo so, bisogna estrarre le query che genera e vedere quale è inefficiente.
        Stasera provo ad attivare per poco lo slowlog e vedere cosa mi traccia (se lo lascio attivo con una soglia troppo bassa scrive troppo).

        > > Che si fa? Ci sono altre ottimizzazioni che possiamo provare lato mysql?
        >
        > $indianoAttaccabrighe dice che un indice fa sempre bene Geek

        Siamo pieni di indici, la query non ha subquery strane, va solo su messages, e ordina per id desc che è indicizzato.
        Siamo sicuri che jooq non implementi il limit con uno scrollable result set?

        PS. Vedo che hai cambiato la versione con cui compili tu, ricordati che il fdt gira su java 7 e non su java 8, e intellij sucks Occhiolino
        Young professional woman and busy mom.
    • Avatar
      ☺
      Scritto da
      il 2015-06-24 09:01:06.0 alle 2015-06-24 09:01:06.0
      Trollate totali: 42885
      Re: tavolo tecnico: problemi di performances fdt
      Scritto da: ::1
      > La cronologia ci mette dai 4 ai 5 secondi per venire generata. Ho lanciato un optimize table su tutte le tabelle ma non ha avuto alcun effetto.

      Test locale veloce veloce (Il database e' quello di un paio di mesi fa)

      -> with bind values      : select `fdtsucker`.`messages`.`id`, `fdtsucker`.`messages`.`text`, `fdtsucker`.`messages`.`date`, `fdtsucker`.`messages`.`subject`, `fdtsucker`.`messages`.`threadId`, `fdtsucker`.`messages`.`parentId`, `fdtsucker`.`messages`.`author`, `fdtsucker`.`messages`.`forum`, `fdtsucker`.`messages`.`visible`, `fdtsucker`.`messages`.`rank`, `fdtsucker`.`threads`.`lastId` from `fdtsucker`.`messages` join `fdtsucker`.`threads` on `fdtsucker`.`messages`.`id` = `fdtsucker`.`threads`.`lastId` where (`fdtsucker`.`messages`.`forum` is null or `fdtsucker`.`messages`.`forum` not in ('Proc di Catania')) order by `fdtsucker`.`threads`.`lastId` desc limit 20
      Query executed           : Total: 1.411ms
      Fetched result           : +-------+----------------------------+---------------------+-------------+--------+--------+------+------+-------+----+-------+
                               : |     id|text                        |date                 |subject      |threadId|parentId|author|forum |visible|rank| lastId|
                               : +-------+----------------------------+---------------------+-------------+--------+--------+------+------+-------+----+-------+
                               : |2811253|aaaaaaaaaaaaa               |2015-06-02 17:16:00.0|ddddddddddddd| 2811253| 2811253|Giambo|{null}|      1|   0|2811253|
                               : |2811252|asdasdas                    |2015-06-02 17:11:28.0|asdasd       | 2811252| 2811252|Giambo|{null}|      1|   0|2811252|
                               : |2811251|asdasdas                    |2015-06-02 17:02:34.0|asdasd       | 2811251| 2811251|Giambo|{null}|      1|   0|2811251|
                               : |2811250|asdasd                      |2015-04-02 15:49:11.0|sadasda      | 2811250| 2811250|Giambo|Cenere|     -1|   0|2811250|
                               : |2811249|http://www.telize.com/geoip/|2014-12-12 12:06:43.0|Prot&Quakc   | 2811249| 2811249|Giambo|{null}|      1|   0|2811249|
                               : +-------+----------------------------+---------------------+-------------+--------+--------+------+------+-------+----+-------+
                               : |...15 record(s) truncated...
      Finishing                : Total: 4.572ms, +3.161ms
      


      Mi pare di capire che il fetching e' lento, 3.161ms !
      `"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
      • Avatar
        ☺
        Scritto da
        ::1
        il 2015-06-24 09:25:46.0 alle 2015-06-24 09:25:46.0
        Trollate totali: 12321
        Re: tavolo tecnico: problemi di performances fdt
        Scritto da: Giambo
        >
        > Test locale veloce veloce (Il database e' quello di un paio di mesi fa)
        >
        >
        > -> with bind values      : select `fdtsucker`.`messages`.`id`, `fdtsucker`.`messages`.`text`, `fdtsucker`.`messages`.`date`, `fdtsucker`.`messages`.`subject`, `fdtsucker`.`messages`.`threadId`, `fdtsucker`.`messages`.`parentId`, `fdtsucker`.`messages`.`author`, `fdtsucker`.`messages`.`forum`, `fdtsucker`.`messages`.`visible`, `fdtsucker`.`messages`.`rank`, `fdtsucker`.`threads`.`lastId` from `fdtsucker`.`messages` join `fdtsucker`.`threads` on `fdtsucker`.`messages`.`id` = `fdtsucker`.`threads`.`lastId` where (`fdtsucker`.`messages`.`forum` is null or `fdtsucker`.`messages`.`forum` not in ('Proc di Catania')) order by `fdtsucker`.`threads`.`lastId` desc limit 20
        > Query executed           : Total: 1.411ms
        > Fetched result           : +-------+----------------------------+---------------------+-------------+--------+--------+------+------+-------+----+-------+
        > : |     id|text                        |date                 |subject      |threadId|parentId|author|forum |visible|rank| lastId|
        > : +-------+----------------------------+---------------------+-------------+--------+--------+------+------+-------+----+-------+
        > : |2811253|aaaaaaaaaaaaa               |2015-06-02 17:16:00.0|ddddddddddddd| 2811253| 2811253|Giambo|{null}|      1|   0|2811253|
        > : |2811252|asdasdas                    |2015-06-02 17:11:28.0|asdasd       | 2811252| 2811252|Giambo|{null}|      1|   0|2811252|
        > : |2811251|asdasdas                    |2015-06-02 17:02:34.0|asdasd       | 2811251| 2811251|Giambo|{null}|      1|   0|2811251|
        > : |2811250|asdasd                      |2015-04-02 15:49:11.0|sadasda      | 2811250| 2811250|Giambo|Cenere|     -1|   0|2811250|
        > : |2811249|http://www.telize.com/geoip/|2014-12-12 12:06:43.0|Prot&Quakc   | 2811249| 2811249|Giambo|{null}|      1|   0|2811249|
        > : +-------+----------------------------+---------------------+-------------+--------+--------+------+------+-------+----+-------+
        > : |...15 record(s) truncated...
        > Finishing                : Total: 4.572ms, +3.161ms
        > 

        >
        > Mi pare di capire che il fetching e' lento, 3.161ms !

        E questo non è buono. A me è tutto istantaneo, probabilmente perché ho un ssd.
        Indago e facciamo un piano.
        Young professional woman and busy mom.
        • Avatar
          ☺
          Scritto da
          il 2015-06-24 09:38:36.0 alle 2015-06-24 09:38:36.0
          Trollate totali: 42885
          Re: tavolo tecnico: problemi di performances fdt
          Scritto da: ::1

          > > Mi pare di capire che il fetching e' lento, 3.161ms !
          >
          > E questo non è buono. A me è tutto istantaneo, probabilmente perché ho un ssd.

          Pure io ho un SSD, e una macchina con i controcazzi Sorride
          La medesima query, usando per esempio phpmyadmin, e' molto piu' veloce.

          > Indago e facciamo un piano.

          Forse il problema sta nel paging ... O forse bisogna usare un altro tipo di fetch(). O forse ... Boh, non so.
          `"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
          • Avatar
            Scritto da
            Non Autenticato
            il 2015-06-24 11:39:07.0 alle 2015-06-24 11:39:07.0
            Re: tavolo tecnico: problemi di performances fdt
            Scritto da: Giambo
            > Scritto da: ::1
            >
            > > > Mi pare di capire che il fetching e' lento, 3.161ms !
            > >
            > > E questo non è buono. A me è tutto istantaneo, probabilmente perché ho un ssd.
            >
            > Pure io ho un SSD, e una macchina con i controcazzi Sorride
            > La medesima query, usando per esempio phpmyadmin, e' molto piu' veloce.
            >
            > > Indago e facciamo un piano.
            >
            > Forse il problema sta nel paging ... O forse bisogna usare un altro tipo di fetch(). O forse ... Boh, non so.

            Fosse PHP Lich potrebbe aiutarvi.
        • Avatar
          ☺
          Scritto da
          avvelentani
          Cubicolario
          il 2015-06-24 10:30:08.0 alle 2015-06-24 10:30:08.0
          Trollate totali: 18184
          Re: tavolo tecnico: problemi di performances fdt
          Scritto da: ::1
          > Scritto da: Giambo
          > >
          > > Test locale veloce veloce (Il database e' quello di un paio di mesi fa)
          > >
          > >
          > > -> with bind values      : select `fdtsucker`.`messages`.`id`, `fdtsucker`.`messages`.`text`, `fdtsucker`.`messages`.`date`, `fdtsucker`.`messages`.`subject`, `fdtsucker`.`messages`.`threadId`, `fdtsucker`.`messages`.`parentId`, `fdtsucker`.`messages`.`author`, `fdtsucker`.`messages`.`forum`, `fdtsucker`.`messages`.`visible`, `fdtsucker`.`messages`.`rank`, `fdtsucker`.`threads`.`lastId` from `fdtsucker`.`messages` join `fdtsucker`.`threads` on `fdtsucker`.`messages`.`id` = `fdtsucker`.`threads`.`lastId` where (`fdtsucker`.`messages`.`forum` is null or `fdtsucker`.`messages`.`forum` not in ('Proc di Catania')) order by `fdtsucker`.`threads`.`lastId` desc limit 20
          > > Query executed           : Total: 1.411ms
          > > Fetched result           : +-------+----------------------------+---------------------+-------------+--------+--------+------+------+-------+----+-------+
          > > : |     id|text                        |date                 |subject      |threadId|parentId|author|forum |visible|rank| lastId|
          > > : +-------+----------------------------+---------------------+-------------+--------+--------+------+------+-------+----+-------+
          > > : |2811253|aaaaaaaaaaaaa               |2015-06-02 17:16:00.0|ddddddddddddd| 2811253| 2811253|Giambo|{null}|      1|   0|2811253|
          > > : |2811252|asdasdas                    |2015-06-02 17:11:28.0|asdasd       | 2811252| 2811252|Giambo|{null}|      1|   0|2811252|
          > > : |2811251|asdasdas                    |2015-06-02 17:02:34.0|asdasd       | 2811251| 2811251|Giambo|{null}|      1|   0|2811251|
          > > : |2811250|asdasd                      |2015-04-02 15:49:11.0|sadasda      | 2811250| 2811250|Giambo|Cenere|     -1|   0|2811250|
          > > : |2811249|http://www.telize.com/geoip/|2014-12-12 12:06:43.0|Prot&Quakc   | 2811249| 2811249|Giambo|{null}|      1|   0|2811249|
          > > : +-------+----------------------------+---------------------+-------------+--------+--------+------+------+-------+----+-------+
          > > : |...15 record(s) truncated...
          > > Finishing                : Total: 4.572ms, +3.161ms
          > > 

          > >
          > > Mi pare di capire che il fetching e' lento, 3.161ms !
          >
          > E questo non è buono. A me è tutto istantaneo, probabilmente perché ho un ssd.
          > Indago e facciamo un piano.

          a che serve il join?
          I think happiness is love
          - Vladimir Putin
          • Avatar
            ☺
            Scritto da
            ::1
            il 2015-06-24 10:49:19.0 alle 2015-06-24 10:49:19.0
            Trollate totali: 12321
            Re: tavolo tecnico: problemi di performances fdt
            Scritto da: avvelentani
            > Scritto da: ::1
            > > Scritto da: Giambo
            > > >
            > > > Test locale veloce veloce (Il database e' quello di un paio di mesi fa)
            > > >
            > > >
            > > > -> with bind values      : select `fdtsucker`.`messages`.`id`, `fdtsucker`.`messages`.`text`, `fdtsucker`.`messages`.`date`, `fdtsucker`.`messages`.`subject`, `fdtsucker`.`messages`.`threadId`, `fdtsucker`.`messages`.`parentId`, `fdtsucker`.`messages`.`author`, `fdtsucker`.`messages`.`forum`, `fdtsucker`.`messages`.`visible`, `fdtsucker`.`messages`.`rank`, `fdtsucker`.`threads`.`lastId` from `fdtsucker`.`messages` join `fdtsucker`.`threads` on `fdtsucker`.`messages`.`id` = `fdtsucker`.`threads`.`lastId` where (`fdtsucker`.`messages`.`forum` is null or `fdtsucker`.`messages`.`forum` not in ('Proc di Catania')) order by `fdtsucker`.`threads`.`lastId` desc limit 20
            > > > Query executed           : Total: 1.411ms
            > > > Fetched result           : +-------+----------------------------+---------------------+-------------+--------+--------+------+------+-------+----+-------+
            > > > : |     id|text                        |date                 |subject      |threadId|parentId|author|forum |visible|rank| lastId|
            > > > : +-------+----------------------------+---------------------+-------------+--------+--------+------+------+-------+----+-------+
            > > > : |2811253|aaaaaaaaaaaaa               |2015-06-02 17:16:00.0|ddddddddddddd| 2811253| 2811253|Giambo|{null}|      1|   0|2811253|
            > > > : |2811252|asdasdas                    |2015-06-02 17:11:28.0|asdasd       | 2811252| 2811252|Giambo|{null}|      1|   0|2811252|
            > > > : |2811251|asdasdas                    |2015-06-02 17:02:34.0|asdasd       | 2811251| 2811251|Giambo|{null}|      1|   0|2811251|
            > > > : |2811250|asdasd                      |2015-04-02 15:49:11.0|sadasda      | 2811250| 2811250|Giambo|Cenere|     -1|   0|2811250|
            > > > : |2811249|http://www.telize.com/geoip/|2014-12-12 12:06:43.0|Prot&Quakc   | 2811249| 2811249|Giambo|{null}|      1|   0|2811249|
            > > > : +-------+----------------------------+---------------------+-------------+--------+--------+------+------+-------+----+-------+
            > > > : |...15 record(s) truncated...
            > > > Finishing                : Total: 4.572ms, +3.161ms
            > > > 

            > > >
            > > > Mi pare di capire che il fetching e' lento, 3.161ms !
            > >
            > > E questo non è buono. A me è tutto istantaneo, probabilmente perché ho un ssd.
            > > Indago e facciamo un piano.
            >
            > a che serve il join?

            In questo caso a niente, dovrebbe andare diretto; il join con la tabella threads lo usiamo per le viste Nuove, Ultime e Tue.
            Giambino ci posti un explain della select?

            Edit: sbaglio o improvvisamente la cronologia è tornata veloce?

            **Modificato dall'autore il 24.06.2015 10:51**
            Young professional woman and busy mom.
            • Avatar
              ☺
              Scritto da
              il 2015-06-24 12:21:47.0 alle 2015-06-24 12:21:47.0
              Trollate totali: 42885
              Re: tavolo tecnico: problemi di performances fdt
              Scritto da: ::1

              > Giambino ci posti un explain della select?

              +-----+--------------+-----------+---------+---------------------+---------------------+----------+---------------------------+-------+-------------+
              | id  | select_type  |  table    |  type   |   possible_keys     |        key          | key_len  |           ref             | rows  |   Extra     |
              +-----+--------------+-----------+---------+---------------------+---------------------+----------+---------------------------+-------+-------------+
              |  1  | SIMPLE       | threads   | index   | idx_threads_lastId  | idx_threads_lastId  |       9  | NULL                      |   20  | Using index |
              |  1  | SIMPLE       | messages  | eq_ref  | PRIMARY,forum       | PRIMARY             |       8  | fdtsucker.threads.lastId  |    1  | Using where |
              +-----+--------------+-----------+---------+---------------------+---------------------+----------+---------------------------+-------+-------------+
              
              `"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
    • Avatar
      Scritto da
      Non Autenticato
      il 2015-06-24 11:46:06.0 alle 2015-06-24 11:46:06.0
      Re: tavolo tecnico: problemi di performances fdt
      Scritto da: ::1
      > La cronologia ci mette dai 4 ai 5 secondi per venire generata.

      Nel frattempo avete risolto il problema? Perché a me è istantanea.

      > Ho lanciato un optimize table su tutte le tabelle ma non ha avuto alcun effetto.
      > Che si fa? Ci sono altre ottimizzazioni che possiamo provare lato mysql?
      > Inseriamo dei workaround nel codice o nella struttura della banca dati (tipo view, cache, altro...)?
      > Partizionamento db?
    • Avatar
      ☺
      Scritto da
      ::1
      il 2015-06-24 17:41:47.0 alle 2015-06-24 17:41:47.0
      Trollate totali: 12321
      Re: tavolo tecnico: problemi di performances fdt
      Scritto da: ::1
      > La cronologia ci mette dai 4 ai 5 secondi per venire generata. Ho lanciato un optimize table su tutte le tabelle ma non ha avuto alcun effetto.
      > Che si fa? Ci sono altre ottimizzazioni che possiamo provare lato mysql?
      > Inseriamo dei workaround nel codice o nella struttura della banca dati (tipo view, cache, altro...)?
      > Partizionamento db?
      >
      > **Modificato dall'autore il 24.06.2015 08:10**

      Mi sa che ho risolto il mistero, sono i video di youtube. La cache webtitles non fa il suo lavoro?
      Young professional woman and busy mom.
      • Avatar
        ☺
        Scritto da
        avvelentani
        Cubicolario
        il 2015-06-24 17:51:20.0 alle 2015-06-24 17:51:20.0
        Trollate totali: 18184
        Re: tavolo tecnico: problemi di performances fdt
        Scritto da: ::1
        > Scritto da: ::1
        > > La cronologia ci mette dai 4 ai 5 secondi per venire generata. Ho lanciato un optimize table su tutte le tabelle ma non ha avuto alcun effetto.
        > > Che si fa? Ci sono altre ottimizzazioni che possiamo provare lato mysql?
        > > Inseriamo dei workaround nel codice o nella struttura della banca dati (tipo view, cache, altro...)?
        > > Partizionamento db?
        > >
        > > **Modificato dall'autore il 24.06.2015 08:10**
        >
        > Mi sa che ho risolto il mistero, sono i video di youtube. La cache webtitles non fa il suo lavoro?

        avevamo piu` di 100 video in cronologia? senno` mi pare strano.
        I think happiness is love
        - Vladimir Putin
<softv>

Pagina generata in 183 millisecondi

Utenti attivi: 10 nell'ultimo minuto, 23 negli ultimi cinque minuti, 41 negli ultimi 15 minuti