Wait_timeout | Windows, Linux, Mac e Altri ambienti

Topic: Pubblico - Composto da 8 Posts di 2 Utenti.

21 Giugno, 2010 07:56 #1
bobbo
Utente

bobbo
Registrato: Jun, 2010
Posts: 5
Offline

Salve, Linux sles 11 Non riesco a capire perchè modificando i valore della variabile wait_timeout, non vengano sentiti da mysql. Qualcuno mi sa dire se la variabile wait_timeout è correlata a qualche altra variabile ? Grazie

21 Giugno, 2010 08:15 #2
g2d
Moderatore

g2d
Registrato: Jul, 2008
Posts: 867
Offline
Segui g2d su Twitter!

Ciao bobbo

Benvenuto su MySQL Italia

Non ho ben capito la tua domanda e di cosa hai bisongo.

Ti posso però dire che la variabile wait_timeout indica il numero di secondi in cui una connessione rimane attiva anche se non ci sono state interazioni, questo timeoue si applica alle Socket Unix e alle connessioni TCP/IP, non si applica alle pipe o alla memoria condivisa.

Se ci dai qualche dettaglio in più magari siamo + utili.

Saluti algweb


Un tempo ero algweb ora sono g2d

21 Giugno, 2010 09:41 #3
bobbo
Utente

bobbo
Registrato: Jun, 2010
Posts: 5
Offline

Grazie dell’interessamento algweb. Sullo stesso server, dove è installato mysql, c’è un gestionale di magazzino (e-commerce) che effettua delle query al db del webcommerce. Ogni tanto compare un errore di mysql has gone away. Mi hanno consigliato di aumentare il valore della variabile wait_timeout Ho modificato il valore della variabile da 28800 di default al valore di 64000. Ho effettuato un /etc/init.d/mysql stop e /etc/init.d/mysql start Ma interrogando di nuovo la variabile (show variables;) il valore rimane a 28800 Alcuni mi hanno detto che potrebbe esserci un blocco sul sistema operativo. Questo è il mio my.cnf

  1. The following options will be passed to all MySQL clients = your_password port = 3306 socket = /var/lib/mysql/mysql.sock
  1. The MySQL server [mysqld] port = 3306 socket = /var/lib/mysql/mysql.sock skip-locking key_buffer_size = 256M max_allowed_packet=20M table_open_cache = 256 sort_buffer_size = 1M read_buffer_size = 1M read_rnd_buffer_size = 4M myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size=100M lower_case_table_names=1
  1. Try number of CPU’s*2 for thread_concurrency thread_concurrency = 8 max_connection=800 wait_timeout=64000
  1. binary logging is required for replication log-bin=mysql-bin
  1. binary logging format – mixed recommended binlog_format=mixed
  1. required unique id between 1 and 2^32 – 1
  2. defaults to 1 if master-host is not set
  3. but will not function as a master if omitted server-id = 1
  4. Uncomment the following if you are using InnoDB tables
  5. You can set .._buffer_pool_size up to 50 – 80 %
  6. of RAM but beware of setting memory usage too high innodb_buffer_pool_size = 1024M #Use concurrent insert with MyISAM. skip-concurrent-insert #Don’t resolve hostnames. All hostnames are IP’s or ‘localhost’. skip-name-resolve #Start without grant tables. This gives all users FULL ACCESS to all tables! skip-grant-tables #Use old password encryption method (needed for 4.0 and older clients). old-passwords [mysqldump] quick max_allowed_packet = 16M [mysql] no-auto-rehash
  7. Remove the next comment character if you are not familiar with SQL #safe-updates [myisamchk] key_buffer_size = 128M sort_buffer_size = 128M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout

Ti ringrazio anticipatamente. saluti

21 Giugno, 2010 11:14 #4
g2d
Moderatore

g2d
Registrato: Jul, 2008
Posts: 867
Offline
Segui g2d su Twitter!

Ciao bobbo

guarda francamente non penso che questa variabile possa risolvere il problema, cmq facciamo una prova!

Devi avere l’accortenza di settarla sotto
1[mysqld]
2
3..
4
5..

e prima di altre direttive con le quadre…

Dopo di chè riavvia MySQL

Facci sapere che nel caso dobbiamo cercare altro

P.S. che versione stai utilizzando ? sia di MySQL che di webcommerce

Grazie a te

Saluti algweb


Un tempo ero algweb ora sono g2d

21 Giugno, 2010 14:59 #5
bobbo
Utente

bobbo
Registrato: Jun, 2010
Posts: 5
Offline

Come hai visto l’ho messa dopo [mysqld] Però se la vado ad interrogare il su valore non è 64000 bensi 28800 Non riesco a capire perchè :-(

[mysqld] port = 3306 socket = /var/lib/mysql/mysql.sock skip-locking key_buffer_size = 256M max_allowed_packet=20M table_open_cache = 256 sort_buffer_size = 1M read_buffer_size = 1M read_rnd_buffer_size = 4M myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size=100M lower_case_table_names=1 thread_concurrency = 8 max_connection=800 wait_timeout=64000

Ps. La versione di mysql è 5.1.35 Il gestionale utilizzato (dove compare l’errore ) è Passepartout mexal. Il produttore del gestionale certifica la versione di mysql. 5.1.35. Webcommerce è un e-commerce fatto ad hoc in php e java

Saluti Bobbo

21 Giugno, 2010 16:48 #6
g2d
Moderatore

g2d
Registrato: Jul, 2008
Posts: 867
Offline
Segui g2d su Twitter!

Ciao bobbo

Ho fatto un paio di prove su RedHat, CentOS, e Ubuntu … e funge al primo colpo purtroppo non ho Sles a portata di mano.

Se sei sicuro che il my.cnf viene richiamato (ti trovi gli altri parametri)

prova a impostare a 64000 anche il parametro interactive_timeout.

Nel frattempo io continuo a fare prove e ti faccio sapere.

Tienimi aggiornato

Saluti algweb


Un tempo ero algweb ora sono g2d

22 Giugno, 2010 09:43 #7
bobbo
Utente

bobbo
Registrato: Jun, 2010
Posts: 5
Offline

Oggi pomeriggio provo a modificare anche interactive_timeout e ti faccio sapere. Saluti

23 Giugno, 2010 08:10 #8
bobbo
Utente

bobbo
Registrato: Jun, 2010
Posts: 5
Offline

Bingo… affondato… Grazie mille, impostando anche la variabile “interactive_timeout” ho risolto il problema. Sei grande. Saluti

Condividi su:

Loggati o Registrati per replicare