MySQL 5.5 несколько вопросов. (Решено)

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Deimos
постоялец
Сообщения: 174
Зарегистрирован: 16.01.2010 23:31:30

MySQL 5.5 несколько вопросов. (Решено)

Сообщение Deimos »

Доброго времени.

Не совсем понятная ситуация.

Разрабатываю небольшой проект для mysql.

Для соединения использую TMySQL55Connection.

Под линуксом (mint) проект собирается нормально на разных машинах.

Одна машина win64 home premium 64bit, mysql сервер 5,5 собирается нормально, но программа работает с ощутимым лагом обращений к базе (3-4) секунды. (на простом запросе с несколькими записями).

С этой-же машины коннектимся к удаленому серверу 5,1 - нормально соединяется, но тоже присутствует лаг (1-2) секунды. Хотя где-то на форуме мне попадалось, что сервер и библиотека должны быть одной версии. Во всех случаях используется библиотека 5,5.

На другой машине win64 home basic 64bit, сервер 5,5 подключение к базе вовсе вызывает ошибку einout.

Версия лазарус везде 1,0,12

Может кто подскажет что-нибудь из мыслей?

PS. Про Zeos знаю, но работать с ним не приходилось.
Последний раз редактировалось Deimos 07.12.2013 14:38:26, всего редактировалось 1 раз.
Аватара пользователя
Art!P
новенький
Сообщения: 27
Зарегистрирован: 28.07.2012 14:37:53
Контактная информация:

Сообщение Art!P »

Для подключения в виндоуз клиент libmysql.dll версии 5.5 разный есть, попробуйте поиграться с версиями файла. Файлы клиентов есть в ZIP-архивах мускула.
По поводу задержек. Как там с маршрутами и скоростями пинг? БД сервер единый для всех клиентов и работает он на линуксе? Если каждый клиент сам себе сервер, надо смотреть конфиги. В винде, например, антивирусу настроить исключение папки из мониторинга, там знаете ли нюансов полно, на линуксе мускул может шустрее работать даже из-за файловой системы.
Еще вопрос по поводу запросов. Вы за раз осуществляете запросы выборки и записи за раз одна строка? Это намекаю на то что скорость работы существенно снижается если производить запись (INSERT, UPDATE) "одна строка - один сеанс". Обычно оно того стоит, чтобы собрать n-ое кол-во инсертов и осуществить пакетированную запись (да еще желательно одним запросом http://stackoverflow.com/questions/6889 ... s-in-mysql)
Deimos
постоялец
Сообщения: 174
Зарегистрирован: 16.01.2010 23:31:30

Сообщение Deimos »

Как там с маршрутами и скоростями пинг? БД сервер единый для всех клиентов и работает он на линуксе? Если каждый клиент сам себе сервер, надо смотреть конфиги.


Как-раз дело в том, что лаг есть и когда сервер на той-же машине (под win) и с удаленным сервером, где unix. Но под линуксом на клиенте никаких лагов нет ни с локальным сервером ни с удаленным, хотя клиентская машина одна и та-же. Скорее-всего что-то с настройками самой винды. На другой win-машине попробовать не получилось, поскольку там проект не завелся. Пинг к серверу - 0.88-0.98 ms

за раз осуществляете запросы выборки и записи за раз одна строка?
имелось ввиду

Код: Выделить всё

select * from
когда в таблице всего несколько записей.

libmysql.dll версии 5.5 разный есть
Ставился комьюнити-сервер 5,5 одной версии (один и тот-же дистриб) на две машины с виндой, из которого и была вытащена библиотека. На одной машине проект работал, на другой нет. Это меня и удивило.

На даннй момент уже перевел проект на zeos, но под виндой потестить еще не успел. Если любопытно - могу отписаться по результатам.
Аватара пользователя
Art!P
новенький
Сообщения: 27
Зарегистрирован: 28.07.2012 14:37:53
Контактная информация:

Сообщение Art!P »

Клиентская либа libmysql.dll где в свойствах "версия файла 5.5.25.0", "версия продукта 5.5.25a.0" - работает в winxp,vista,win8,win8.1. Старая версия, но она работает и кочует у меня из проекта в проект. Возможно и последние версии нормально работают, но проверять времени нет.
Сервер использую mariaDB (линукс) последней версии.
Deimos
постоялец
Сообщения: 174
Зарегистрирован: 16.01.2010 23:31:30

Сообщение Deimos »

Лаг наблюдался и на другой WIN машине. (Железо современное 4 ядра/8 гиг и т.д.) Виновником оказалась библиотека libmysql.dll (версия 5.5.35.0). После замены библиотеки скорость увеличилась в разы.
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

Deimos
А на какую версию Вы заменили библиотеку?
Deimos
постоялец
Сообщения: 174
Зарегистрирован: 16.01.2010 23:31:30

Сообщение Deimos »

Vadim

К сожалению у dll не указана версия файла. Поскольку проект перевел на zeos - библиотека взята из одного из старых проектов, которые работали с TMySQL51Connection. В планах есть протестировать более-современные версии библиотеки, но пока до этого руки не дошли.
Аватара пользователя
GAMER
энтузиаст
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина
Контактная информация:

Сообщение GAMER »

Использую виндовую библиотеку с MariaDB весрии 10.0.6.3906.
Сервер МарияДБ под FreeBSD (ветка 5.5). Проблем не замечаю.
Deimos
постоялец
Сообщения: 174
Зарегистрирован: 16.01.2010 23:31:30

Сообщение Deimos »

Mysql 5.5 (сервер) 64bit
Библиотека из MariaDB ветка 5,5. 64bit

Лаг наблюдался и для локально-установленного сервера (5,5) и для удаленного (5,1) (3-4 секунды). Windows 64bit home basic.

Ниже привожу ссылку на библиотеку, с которой подобных проблем не было.

https://drive.google.com/file/d/0BxNj1n ... sp=sharing

Для верности...

Ссылка не архив с ZEOS, который использовался в проекте:

https://drive.google.com/file/d/0BxNj1n ... sp=sharing
Ответить