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

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

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

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

Сообщение Deimos » 05.12.2013 00:44:19

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

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

Разрабатываю небольшой проект для 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 раз.
Deimos
постоялец
 
Сообщения: 174
Зарегистрирован: 17.01.2010 00:31:30

Re: MySQL 5.5 несколько вопросов.

Сообщение Art!P » 06.12.2013 10:57:18

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

Re: MySQL 5.5 несколько вопросов.

Сообщение Deimos » 06.12.2013 12:35:18

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


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

за раз осуществляете запросы выборки и записи за раз одна строка?
имелось ввиду
Код: Выделить всё
select * from
когда в таблице всего несколько записей.

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

На даннй момент уже перевел проект на zeos, но под виндой потестить еще не успел. Если любопытно - могу отписаться по результатам.
Deimos
постоялец
 
Сообщения: 174
Зарегистрирован: 17.01.2010 00:31:30

Re: MySQL 5.5 несколько вопросов.

Сообщение Art!P » 06.12.2013 13:38:53

Клиентская либа libmysql.dll где в свойствах "версия файла 5.5.25.0", "версия продукта 5.5.25a.0" - работает в winxp,vista,win8,win8.1. Старая версия, но она работает и кочует у меня из проекта в проект. Возможно и последние версии нормально работают, но проверять времени нет.
Сервер использую mariaDB (линукс) последней версии.
Аватара пользователя
Art!P
новенький
 
Сообщения: 27
Зарегистрирован: 28.07.2012 14:37:53

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

Сообщение Deimos » 07.12.2013 14:40:27

Лаг наблюдался и на другой WIN машине. (Железо современное 4 ядра/8 гиг и т.д.) Виновником оказалась библиотека libmysql.dll (версия 5.5.35.0). После замены библиотеки скорость увеличилась в разы.
Deimos
постоялец
 
Сообщения: 174
Зарегистрирован: 17.01.2010 00:31:30

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

Сообщение Vadim » 08.12.2013 05:48:58

Deimos
А на какую версию Вы заменили библиотеку?
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

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

Сообщение Deimos » 08.12.2013 15:01:46

Vadim

К сожалению у dll не указана версия файла. Поскольку проект перевел на zeos - библиотека взята из одного из старых проектов, которые работали с TMySQL51Connection. В планах есть протестировать более-современные версии библиотеки, но пока до этого руки не дошли.
Deimos
постоялец
 
Сообщения: 174
Зарегистрирован: 17.01.2010 00:31:30

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

Сообщение GAMER » 08.12.2013 17:17:14

Использую виндовую библиотеку с MariaDB весрии 10.0.6.3906.
Сервер МарияДБ под FreeBSD (ветка 5.5). Проблем не замечаю.
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

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

Сообщение Deimos » 08.12.2013 22:38:08

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
Deimos
постоялец
 
Сообщения: 174
Зарегистрирован: 17.01.2010 00:31:30


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 244

Рейтинг@Mail.ru