Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
"бьется" трафик mysql при передаче по сети (denis) 20/12/2007 - 19:59:12



From: denis - 20/12/2007 - 19:59:12
Subject:"бьется" трафик mysql при передаче по сети
-----------------
Имеем, сервер mysql в одном ДЦ (назовем сервер A), сервер mysql в другом ДЦ (назовем сервер Б), на сервере Б работает веб-сервер (который большинство SELECT делает на свой мускул, инсерты на мастер, которым является мускул на А), mysql на Б работает как slave, наблюдаем следующую картину...

большой ~400Кбит входящий мускульный трафик с А на Б, послушал tcpdump'ом на обоих серверах, картина следующая:

на сервере А
tcpdump src host ip_Б and tcp port not 3306 - 0% потерь
tcpdump dst host ip_Б and tcp port not 3306 - 0% потерь
tcpdump dst host ip_Б and tcp port 3306 - 80% пакетов (MySQL Response[Unreassembled Packet], [Packet size limited during capture: MySQL truncated])
tcpdump src host ip_Б and tcp port 3306 - 1.3% пакетов (MySQL Response[Unreassembled Packet], [Packet size limited during capture: MySQL truncated])

на сервере Б
tcpdump src host ip_А and tcp port not 3306 - 0% потерь
tcpdump dst host ip_А and tcp port not 3306 - 0% потерь
tcpdump dst host ip_А and tcp port 3306 - 3% пакетов (MySQL Response[Unreassembled Packet], [Packet size limited during capture: MySQL truncated])
tcpdump dst host ip_А and tcp port 3306 - 64% пакетов (MySQL Response[Unreassembled Packet], [Packet size limited during capture: MySQL truncated])

в iptables с А на Б и с Б на А весь трафик разрешен

конфиг мускула на А

цитата:
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
default-character-set=cp1251
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 10

[mysqld]
slave-compressed = 1
slave_compressed_protocol=1
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
default-character-set=cp1251
init-connect="SET NAMES cp1251"
skip-external-locking
skip-locking
old_passwords=1;
set-variable = key_buffer=128M
set-variable = max_allowed_packet=120M
set-variable = table_cache=256
set-variable = sort_buffer_size=16M
set-variable = read_buffer_size=16M
set-variable = read_rnd_buffer_size=16M
set-variable = myisam_sort_buffer_size=128M
set-variable = thread_cache=4
set-variable = query_cache_size=32M
set-variable = thread_concurrency=4
set-variable = max_connections=600
set-variable = wait_timeout=60
set-variable = connect_timeout=15
bind-address = ip_A
log-slow-queries = /var/log/mysql/mysql-slow.log
long_query_time=5
server-id = 1
log-bin = /var/log/mysql/mysql-bin.log
max_binlog_size = 10485760
binlog-ignore-db = база.таблица

[mysqldump]
quick
quote-names
max_allowed_packet = 64M

[mysql]
no-auto-rehash

[isamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 32M
write_buffer = 32M

[myisamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 16M
write_buffer = 16M

конфиг мускула на Б
цитата:
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
default-character-set=cp1251

[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 10

[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
default-character-set=cp1251
init-connect="SET NAMES cp1251"
skip-external-locking
skip-locking
skip-name-resolve
old_passwords=1;
server-id = 2
master-host = ip_А
master-user = replica
master-password = пароль
replicate-ignore-table=база.таблица

log-warnings
slave_compressed_protocol=1
slave-compressed = 1
set-variable = key_buffer=256M
set-variable = max_allowed_packet=120M
set-variable = table_cache=256
set-variable = sort_buffer_size=16M
set-variable = read_buffer_size=16M
set-variable = read_rnd_buffer_size=16M
set-variable = myisam_sort_buffer_size=128M
set-variable = thread_cache=4
set-variable = query_cache_size=16M
set-variable = thread_concurrency=4
set-variable = max_connections=400
set-variable = net_read_timeout=400
set-variable = wait_timeout=100
set-variable = connect_timeout=10

bind-address = ip_Б
log-slow-queries = /var/log/mysql/mysql-slow.log
long_query_time=5
log-bin = /var/log/mysql/mysql-bin.log
max_binlog_size = 104857600

[mysqldump]
quick
quote-names
max_allowed_packet = 32M

[mysql]
no-auto-rehash

[isamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 8M
write_buffer = 8M

[myisamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 8M
write_buffer = 8M

сетевки проверил, провода обжаты нормально, куда копать?


пустил траф между серверами через gre туннель, ядра на обоих серверах одинаковы (были разные 2.6.18-5 и 2.6.22) сейчас 2.6.18-5, все равно, может быть дело на уровне master'а mysql, конфиг нормальный?


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
32608



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |