Добрый день.
Решил я попробовать подключить mysql базу с другого сервера, чтоб снять нагрузку mysql на сервере. Оба сервера находятся в локалке, на обоих стоит Ubuntu 10.04.3 LTS. На 1 сервере nginx(фронт)+apache2(бек)+eaccelerator. На 2ом mysql 5.1.41. Конфиг 1ого сервера: Xeon 3.4; 2gb оперативы; vmware esxi, на 2ом 1.8GHz; 1Gb на железе.
По devel'у с локальной базой страничка подгружается примерно за 1-1.5 сек, если подключить ту же самую базу по локалке время доходит ~4 сек.
Куда смотреть? в чем могут быть затруднения? в sql'ом виде база весит 1гиг без логов.
Заранее спасибо.
Комментарии
*взял попкорн*
*присоединяюсь к попкорну*
*тож достал попкорн*
По идее, утверждается, что коннект через tcp port всего на 20% медленее, чем через socket, но на практике почему-то наблюдается заметно больше.
Я бы скорее сделал все на одном, но аццком по железу компе.
Примерно в чём угодно - дисках, сети, настроках mysql...
в мантре.
Откуда такая цифра? Это время установки соединения или передачи результатов? Ничего что это всё зависит от массы факторов? Что за фееричный бред?
И были бы не правы, в большинстве случаев разделение сервера БД и веб сервера очень правильная практика.
диски допустим можно проверить юбунтовским bonnie и викторией
mysql почти по default'у, какие настройки можно подкрутить для проверки удаленного подключения?
а способна друпаловская база нормально работать удаленно? я хоть и не спец в mysql, но такое ощущение что она чересчур сложная и ёмкая, чем и может затруднятся доступ удаленно.
имеет ли смысл в innodb? может с ней будет работать быстрее?
сеть? не думаю, что в ней может тормозить
Какие-такие "bonnie и викторией" - iostat, iotop.
Вам надо найти узкое место. И его устранить. Это может быть сеть, это может быть ввод/вывод, это может быть не оптимальная настройка чего-либо, например отключённый query cache в mysql, или какая-нибудь подобная глупость.
Круть. И что вы там сложного и ёмкого нашли? И как объём базы (который вообще говоря зависит от сайта, а большая база это гигабайты, и милионы записей) или её сложность (что вы понимаете под сложностью бд?) вообще связаны с работой по сети по вашему?
Думать не надо, надо проверять.
Наиболее вероятные проблемы:
- удалённый сервер медленно обрабатывает запрос - смотреть нагрузку на диски, настройки mysql.
- удалённый сервер медленно принимает команду, отдаёт ответ - смотреть сеть.
Чуть не забыл - посмотрите на то, как у вас происходит авторизация пользователя на сервере mysql, нет-ли там лишнего медленного dns запроса.
пасиб, буду тестить