УкраїнськаEnglishmRussian
Вход/Новый
В теме нет новых постов

[BugWrong] Производительность MySQL


Автор Сообщение
Сообщение создано: 20. 03. 2014 [11:28]
sam4ik
Андрей Шеверя
Создатель темы
Зарегистрирован(а) с: 22.12.2011
Сообщения: 12
Ставлю Ubuntu, OScada 0.8.0.9, Mysql 5.5. Все настройки по дефолту. Комп на i3. 4гига.
Запускаю Тест БД в MySQL на 100 записей, повтор 1.
!!Затрачено времени 18.6 сек. Чтото многовато не так ли?
Пробовал тест в SQLite, потратил всего 1.4 сек.
Пробовал тест в PostgreSQL, потратил всего 1.2 сек.
Проверил на нескольких компах с такимже результатом.

Для сравнения попробовал на старой версии OScada 0.7.2 1000 записей с результатом 3.3 сек.

Так и должно быть? У всех так? Куда копать?:bang:

[Сообщение редактировалось 1 раз(а), в последний раз 20.03.2014 в 11:40.]
Сообщение создано: 20. 03. 2014 [19:51]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3743
"sam4ik" wrote:

Ставлю Ubuntu, OScada 0.8.0.9, Mysql 5.5. Все настройки по дефолту. Комп на i3. 4гига.
Запускаю Тест БД в MySQL на 100 записей, повтор 1.
!!Затрачено времени 18.6 сек. Чтото многовато не так ли?
Пробовал тест в SQLite, потратил всего 1.4 сек.
Пробовал тест в PostgreSQL, потратил всего 1.2 сек.

Вы что вообще сравниваете?
Если время полного теста для 1000 записей, то:
- MySQL (сетевая, WLAN): 13 секунд
- MySQL (локально): 1.8 секунд
- PostgreSQL (сетевая, WLAN): 15 секунд
- PostgreSQL (локально): 3.5 секунд
- SQLite: 2 секунды

Так где проблема?

Learn, learn and learn better than work, work and work.
Сообщение создано: 20. 03. 2014 [20:28]
sam4ik
Андрей Шеверя
Создатель темы
Зарегистрирован(а) с: 22.12.2011
Сообщения: 12
Я сравниваю для локальных СУБД при 100 записях.
На одном компе такие разные результаты. 18сек для MySQL очень медленно.

Сейчас скачаю LiveCD и проверю снова.
Сообщение создано: 21. 03. 2014 [11:13]
sam4ik
Андрей Шеверя
Создатель темы
Зарегистрирован(а) с: 22.12.2011
Сообщения: 12
Свежая Kubuntu 13.04:
Вложенный файл

Снимок экрана - 21.03.2014 - 12:45:01.png (Тип файла: image/png, Размер: 141.07 килобайт) — 1640 загрузок
Снимок экрана - 21.03.2014 - 12:47:00.png (Тип файла: image/png, Размер: 140.29 килобайт) — 1624 загрузок
Снимок экрана - 21.03.2014 - 12:45:15.png (Тип файла: image/png, Размер: 189.98 килобайт) — 1708 загрузок
Сообщение создано: 21. 03. 2014 [11:15]
sam4ik
Андрей Шеверя
Создатель темы
Зарегистрирован(а) с: 22.12.2011
Сообщения: 12
Рабочая Ubuntu 12.04:
Вложенный файл

Снимок экрана от 2014-03-21 12:59:45.png (Тип файла: image/png, Размер: 133.11 килобайт) — 1699 загрузок
Снимок экрана от 2014-03-21 13:00:12.png (Тип файла: image/png, Размер: 139.8 килобайт) — 1687 загрузок
Снимок экрана от 2014-03-21 12:59:52.png (Тип файла: image/png, Размер: 198.25 килобайт) — 1667 загрузок
Сообщение создано: 21. 03. 2014 [11:18]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3743
"sam4ik" wrote:

Свежая Kubuntu 13.04:

И что?
Мои резуьтаты Вы видели, и у меня нет никаких проблем не с 0.8.0.9 LTS, не с 0.9.
Вероятно зависит от типа хранилища MySQL, но это не проблема OpenSCADA.

Learn, learn and learn better than work, work and work.
Сообщение создано: 21. 03. 2014 [13:39]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3743
"roman" wrote:

Вероятно зависит от типа хранилища MySQL, но это не проблема OpenSCADA.

Добавил поддержку транзакций для хранилищ MySQL с такой особенностью, сейчас там производительность нормальная.

Learn, learn and learn better than work, work and work.
Сообщение создано: 26. 03. 2014 [08:06]
sam4ik
Андрей Шеверя
Создатель темы
Зарегистрирован(а) с: 22.12.2011
Сообщения: 12
Нашел решение своей проблемы. Все оказалось просто. Начиная с версии MySQL 5.5 по умолчанию формат таблиц стал InnoDB. А в версиях пониже MyISAM. OScada не задает тип таблицы однозначно, а использует то что предложит движок БД. С этим и связано падение быстродействия.

Может кому пригодится решение:
добавил default-storage-engine = MyISAM в конфиг MySQL в секцию [mysqld]

Roman, может стоит указывать в запросах на создание таблиц тип однозначно? Или InnoDB предпочтительнее?
Сообщение создано: 26. 03. 2014 [09:58]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3743
"sam4ik" wrote:

Roman, может стоит указывать в запросах на создание таблиц тип однозначно? Или InnoDB предпочтительнее?

Предыдущее сообщение читайте!

Learn, learn and learn better than work, work and work.



67447