-
tavolo tecnico: problemi di performances fdtLa 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.-
Re: tavolo tecnico: problemi di performances fdtScritto 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
`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo-
Re: tavolo tecnico: problemi di performances fdtScritto 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
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
Young professional woman and busy mom.
-
-
Re: tavolo tecnico: problemi di performances fdtScritto 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-
Re: tavolo tecnico: problemi di performances fdtScritto 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.-
Re: tavolo tecnico: problemi di performances fdtScritto 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
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-
Re: tavolo tecnico: problemi di performances fdtScritto daNon Autenticatoil 2015-06-24 11:39:07.0 alle 2015-06-24 11:39:07.0Scritto 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
> 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.
-
-
Re: tavolo tecnico: problemi di performances fdtScritto daavvelentaniCubicolarioil 2015-06-24 10:30:08.0 alle 2015-06-24 10:30:08.0Trollate totali: 18184Scritto 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-
Re: tavolo tecnico: problemi di performances fdtScritto 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.-
Re: tavolo tecnico: problemi di performances fdtScritto 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
-
-
Re: tavolo tecnico: problemi di performances fdt`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
-
-
-
-
Re: tavolo tecnico: problemi di performances fdtScritto daNon Autenticatoil 2015-06-24 11:46:06.0 alle 2015-06-24 11:46:06.0Scritto 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?
-
Re: tavolo tecnico: problemi di performances fdtScritto 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.-
Re: tavolo tecnico: problemi di performances fdtScritto daavvelentaniCubicolarioil 2015-06-24 17:51:20.0 alle 2015-06-24 17:51:20.0Trollate totali: 18184Scritto 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-
Re: tavolo tecnico: problemi di performances fdtScritto da: avvelentani
>
> avevamo piu` di 100 video in cronologia? senno` mi pare strano.
Beh, 100 video in una settimana possono essere passati sul forum. La jvm viene riavviata una volta a settimana (alle 4 della notte tra il sabato e la domenica).Young professional woman and busy mom.-
Re: tavolo tecnico: problemi di performances fdtScritto daNon Autenticatoil 2015-06-24 18:19:48.0 alle 2015-06-24 18:19:48.0Scritto da: ::1
> Scritto da: avvelentani
> >
> > avevamo piu` di 100 video in cronologia? senno` mi pare strano.
>
> Beh, 100 video in una settimana possono essere passati sul forum. La jvm viene riavviata una volta a settimana (alle 4 della notte tra il sabato e la domenica).
Non ho capito di che problemi parli e di che video parli. Intendi che è possibile mettere in ginocchio il forum postando video di youtube che fra l'altro nemmeno si attivano automaticamente?-
Re: tavolo tecnico: problemi di performances fdtScritto daavvelentaniCubicolarioil 2015-06-24 21:24:38.0 alle 2015-06-24 21:24:38.0Trollate totali: 18184Scritto da:
> Scritto da: ::1
> > Scritto da: avvelentani
> > >
> > > avevamo piu` di 100 video in cronologia? senno` mi pare strano.
> >
> > Beh, 100 video in una settimana possono essere passati sul forum. La jvm viene riavviata una volta a settimana (alle 4 della notte tra il sabato e la domenica).
>
> Non ho capito di che problemi parli e di che video parli. Intendi che è possibile mettere in ginocchio il forum postando video di youtube che fra l'altro nemmeno si attivano automaticamente?
parla del fatto che la pagina della cronologia e` lenta da generare, una possibile causa e` la cache dei titoli dei video di youtube.I think happiness is love
- Vladimir Putin
-
-
Re: tavolo tecnico: problemi di performances fdtScritto daavvelentaniCubicolarioil 2015-06-24 21:22:42.0 alle 2015-06-24 21:22:42.0Trollate totali: 18184Scritto da: ::1
> Scritto da: avvelentani
> >
> > avevamo piu` di 100 video in cronologia? senno` mi pare strano.
>
> Beh, 100 video in una settimana possono essere passati sul forum. La jvm viene riavviata una volta a settimana (alle 4 della notte tra il sabato e la domenica).
dovrebbero essere 100 video contemporaneamente nella pagina generata, non penso che abbiamo molte hit oltre la prima pagina.I think happiness is love
- Vladimir Putin
-
-
-
-