Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Hosting e Cloud
    5. Ottimizzare e configurare Mysql per grande database InnoDB
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • P
      peppinosh User • 20 giu 2014, 09:14 ultima modifica di

      Ottimizzare e configurare Mysql per grande database InnoDB

      In questi giorni mi scervellavo a capire il perchè le pagine del mio sito caricavano lentamente e quindi mi sono messo a rivedere le migliaia di query e la configurazione di Mysql. Infine mi sono accorto che il problema non era nel database ma bensì altrove in quanto anche per aprire questa semplice pagina html [HTML]<html><head><head><body>ciao</body></html>[/HTML] il server rispondeva in 8 secondi. Sto risolvendo quel problema riconfigurando il server :crying:
      Comunque sia il mio database non è ottimizzato al meglio. Di seguito ecco cosa mi mostra in rosso PhpMyAdmin cliccando in Stato.```

      Slow_queries 146
      Innodb_buffer_pool_reads 24.9 k
      Innodb_row_lock_waits 2
      Handler_read_rnd 752.9 M
      Handler_read_rnd_next 3.8 G
      Qcache_lowmem_prunes 690.3 k
      Created_tmp_disk_tables 1.3 M
      Select_full_join 108.7 k
      Opened_tables 21.2 k
      Table_locks_waited 5

      
      Gli indici di alcune tabelle sono davvero alti specie dove ho più di 1 milione di righe.
        In PROCESSLIST l'id identificativo dell "utente" per il quale si sta eseguendo una query è davvero alto 341139. Precedentemente arrivava massimo a 1000 (credo riciclava le connessioni già esistenti).
        
      Sul server sono presenti molti database con diversi Motori. I più grandi hanno come motore InnoDB, gli altri MyISAM.
      Attualmente ho questa configurazione:
      
      

      max_connections = 400
      query_cache_size = 128M
      table_cache=2048
      tmp_table_size = 1G
      thread_cache_size=286
      connect_timeout = 100
      interactive_timeout = 100
      wait_timeout = 500
      query_cache_limit = 4M
      query_cache_size = 128M
      query_cache_type = 1
      open_files_limit = 8192
      max_allowed_packet = 16000M
      join_buffer_size = 16M
      max_heap_table_size = 1G
      key_cache_block_size = 1024
      max_sort_length = 1024
      key_cache_division_limit = 100
      skip-partition
      //MY ISAM
      myisam_max_sort_file_size=100G
      myisam_sort_buffer_size=2G
      key_buffer_size=64M
      read_buffer_size=256M
      read_rnd_buffer_size=256K
      sort_buffer_size=2G
      //INNO DB
      innodb_additional_mem_pool_size=32M
      innodb_flush_log_at_trx_commit = 2
      innodb_log_buffer_size=16M
      innodb_buffer_pool_size=6G
      innodb_log_file_size=1G
      innodb_thread_concurrency=17

      
       Il server dove gira l'ambaradam è questo (anche se lo stiamo per cambiare con uno migliore):
      
      
      

      Server Rack Dell R410
      CPU: 2 x Intel Xeon Quad L5609 4x core 1.86
      RAM: 16 GB
      HardDisk: 2 x 1 TB SATA a 7200 rpm
      OS: Windows Server 2008 Standard 64 Bit
      Connectivity: 100 Mbit/s

      
      > Il  server hosta un sito web che interroga un  database MYSQL INNODB  di 10gb (sempre in crescita), con 200 accessi simultanei  circa (spero cresceranno :D  ); ci gira anche un programma che aggiorna di continuo il database e   che sul server attuale consuma circa il 20%  della cpu con decine di  connessioni a webservice.  
      
      Qualche giorno fa ho provato ad ottimizzare il database con MySQLTuner ma penso di aver peggiorato la situazione. Avete qualche consiglio da darmi per ottimizzare la velocità di questo database?
      Spero mi possiate dare una mano :smile5:
      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
        Caricamento altri post
        Rispondi
        • Topic risposta
        Effettua l'accesso per rispondere
        • Da Vecchi a Nuovi
        • Da Nuovi a Vecchi
        • Più Voti
         

      • C
        coolnetwork User Attivo • 21 giu 2014, 18:28 ultima modifica di

        Se il problema è l'iowait del disco è consigliato un server con dischi SSD per la parte DB.
        Hai anche provato ad aggiornare mysql con una versione più aggiornata? Hanno fatto notevoli migliorie di performance su innodb da mysql 5.5

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • P
          peppinosh User • 23 giu 2014, 08:40 ultima modifica di

          Allora ho trovato il problema della lentezza e l'ho risolta -> giorgiotave .it/forum/hosting-housing-e-domini/221718-urgente-cambio-server-scelta-del-nuovo.html#post1128451

          Adesso è tornato tutto come era inizialmente! Ma vorrei comunque migliorare le impostazioni del db e evitare quegli avvisi in rosso. La versione di Mysql che è istallata è proprio la 5.5.
          Qualche suggerimento per abbassare questi valori??

          Slow_queries 146
          Innodb_buffer_pool_reads 24.9 k
          Innodb_row_lock_waits 2
          Handler_read_rnd 752.9 M
          Handler_read_rnd_next 3.8 G
          Qcache_lowmem_prunes 690.3 k
          Created_tmp_disk_tables 1.3 M
          Select_full_join 108.7 k
          Opened_tables 21.2 k
          Table_locks_waited 5

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • S
            servinf User Attivo • 29 giu 2014, 12:24 ultima modifica di

            Ciao,

            se separi il DB, prendi una macchina Linux e prova ad installare MySQL Percona

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • F
              francois007 Super User • 29 giu 2014, 20:38 ultima modifica di

              Io suggerirei di installare MariaDB nella versione 10...

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • P
                peppinosh User • 30 giu 2014, 08:35 ultima modifica di

                Non ho tempo per cambiare database o provare nuove emozioni xD volevo solo qualche consiglio per migliorare la configurazione senza stravolgere nulla :fumato:

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • F
                  francois007 Super User • 1 lug 2014, 03:31 ultima modifica di

                  Conosci MariaDB peppinosh?

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • P
                    peppinosh User • 1 lug 2014, 10:21 ultima modifica di

                    Ne conosco la storia ma non l'ho mai usato o testato

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • F
                      francois007 Super User • 1 lug 2014, 10:52 ultima modifica di

                      Io lo uso e non c'è nessun test da fare... ho disinstallato Mysql e installato questo database e i server hanno ritrovato una seconda giovinezza...

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • P
                        peppinosh User • 2 lug 2014, 08:45 ultima modifica di

                        ho disinstallato Mysql e installato questo database

                        Non ho questo tempo.. probabilmente poi ci saranno problemi di incompatibilità.. non posso rischiare per ora

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • F
                          francois007 Super User • 2 lug 2014, 09:34 ultima modifica di

                          Il solo rischio che corri è di restare nella situazione attuale...
                          MariaDb è un fork di Mysql, compatibilità totale e con caratteristiche che Mysql non ha.
                          https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-features/

                          Buon lavoro!

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          Caricamento altri post
                          Rispondi
                          • Topic risposta
                          Effettua l'accesso per rispondere
                          • Da Vecchi a Nuovi
                          • Da Nuovi a Vecchi
                          • Più Voti