Portál AbcLinuxu, 10. května 2025 12:42

Dotaz: Laděni mysql po lokální síťi

2.4.2014 20:20 LuRy | skóre: 12
Laděni mysql po lokální síťi
Přečteno: 630×
Odpovědět | Admin
Zdravím, mam oddělený webserver který volá mysql na druhem serveru. Servery jsou propojeny mezi sebou lokální sítí 2gbit (2 ethernety v bondingu) avsak rapidne se zvedly doby na dotazy oproti lokalu. Pingy mezy servery jsou pod 0,1ms tak mi to nejde do hlavy proc takovy rapidni narust. Neresil jste nekdo nekdy prosim? Jakekoliv rady jsou vítány.
[mysql]

[mysqld]
# MyISAM #
key-buffer-size                = 32M
myisam-recover                 = FORCE,BACKUP

# SAFETY #
max-allowed-packet             = 16M
max-connect-errors             = 1000000

# DATA STORAGE #
datadir                        = /var/lib/mysql/

# BINARY LOGGING #
#log-bin                        = /var/lib/mysql/mysql-bin
#expire-logs-days               = 14
sync-binlog                    = 1

# CACHES AND LIMITS #
table_cache                     = 16000
tmp-table-size                 = 128M
max-heap-table-size            = 128M
query-cache-type               = 1
query-cache-size               = 1024M
max-connections                = 500
thread-cache-size              = 50
open-files-limit               = 65535
table-definition-cache         = 8000
table-open-cache               = 8000
key_buffer_size                 = 256M
join_buffer_size                = 512k

# INNODB #
innodb_lock_wait_timeout        = 60
innodb_buffer_pool_instances    = 8
innodb_rollback_on_timeout      = 0
innodb-flush-method            = O_DIRECT
innodb-log-files-in-group      = 2
innodb-log-file-size           = 128M
#innodb-flush-log-at-trx-commit = 1
innodb-file-per-table          = 1
innodb-buffer-pool-size        = 3072M
innodb-flush-log-at-trx-commit = 0

# LOGGING #
log-error                      = /var/lib/mysql/mysql-error.log
log-queries-not-using-indexes  = 0
slow-query-log                 = 1
long_query_time                = 2
slow-query-log-file            = /var/lib/mysql/mysql-slow2.log



Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Jendа avatar 2.4.2014 21:12 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Laděni mysql po lokální síťi
Odpovědět | | Sbalit | Link | Blokovat | Admin
3.4.2014 00:13 LuRy | skóre: 12
Rozbalit Rozbalit vše Re: Laděni mysql po lokální síťi
sniffovat 150mbit traffic mi prijde trochu moc dat na to aby se v tom clovek bezpecne vyznal... zda se ze tim jak opadnul navecer traffic tak si ty doby malinko sedli ..
Jendа avatar 3.4.2014 00:16 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Laděni mysql po lokální síťi
Hm. Co se tam připojit z jiného stroje a zkusit to taky? Pak se teda ukáže, že je to v serveru…
3.4.2014 00:28 LuRy | skóre: 12
Rozbalit Rozbalit vše Re: Laděni mysql po lokální síťi
no problem je ze jiny stroj nenabidne stejne podminky jako bondovana lokalni sit.. mam tam jeste jedne server kterej je dostupnej skrz jednu branu tzn pingy 0.2-0.5ms ale takovy traffic tam uz neprocpu .. no uvidim jeste udelam par testu.. muzu jeste prilozit nejaky upravy v sysctl jestli v tom nekdo neuvidi vice nez ja
Heron avatar 3.4.2014 15:17 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Laděni mysql po lokální síťi
Odpovědět | | Sbalit | Link | Blokovat | Admin

Pokud se ta aplikace před tím připojovala na lokální unix socket, tak by mohl být problém v dns překladech.

Zkuste dát do konfigurace mysql:

skip-name-resolve

(Potom ale přestanou fungovat uživatelé v DB user@hostname, je třeba zadávat user@ip nebo rovnou user@%.)

Heron
3.4.2014 15:29 LuRy | skóre: 12
Rozbalit Rozbalit vše Re: Laděni mysql po lokální síťi
Odpovědět | | Sbalit | Link | Blokovat | Admin
i predtim byl bind na localhost ted je akorat na ip.. je fakt ze me rtohle tez napadlo.. pripojuji se pomoci hostname ktery je v zapsany v hosts.. takze zas na druhou stranu v tomhle by nemel dns server vubec hrat roli ne?
Heron avatar 3.4.2014 15:44 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Laděni mysql po lokální síťi
Pokud to skutečně bylo na localhost, tak je to přes unix socket. Pokud se chcete připojit přes TCP/IP, tak je nutné použít IP (127.0.0.1 nebo jakoukoliv, na které MySQL poslouchá).

Jinak s tím hosts, nejsem si jist, zda MySQL neprovádí i zpětný překlad (IP -> hostame). Jen vím, že skip-name-resolve usetří minimálně jeden výlet Mysql->resolver (což by u knihovny mělo být hned, ale ne vždy tomu tak je), takže je to obecně rychlejší.
3.4.2014 15:49 LuRy | skóre: 12
Rozbalit Rozbalit vše Re: Laděni mysql po lokální síťi
Dobre zkusim to nastavit, koukam ze jsem to tam nemel.. Je nejaka moznost aplikovat tuhle zmenu bez restartu mysql serveru? S timhle jsem vzdycky zapasil.. vim ze globalni promeny jdou primo skrz query protoze reload je k nicemu v tomhle smeru.

Diky moc :)
Heron avatar 3.4.2014 15:55 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Laděni mysql po lokální síťi
Řekl bych, že bude potřeba restart. V dynamicky nastavitelných proměnných jsem to nenašel.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.