
Alexey
12.01.2018
10:25:06
и всё правильно будет

Anton
12.01.2018
10:29:20

Alexey
12.01.2018
10:33:32

Google

Walter
12.01.2018
10:36:16
Hi guys, I'm loading a datatable using ajax and PHP+MySql server-side. I load only 25 rows per times, but the query it's too slow because of the size of the db table. How can i speed up server side processing? There are some sort of caching methods?

Anton
12.01.2018
10:37:04

Alexey
12.01.2018
10:37:44
да их уже писали. только на моей памяти три обёртки над XtraBackup. но все они как-то быстро загибаются
проблема в том, что написать что-то универсальное непросто. Народ обычно пишет какой-то свой велосипедик, иногда даже выкладывает в open source, но т.к. оно заточено под конкретные условия, это всё умирает вместе со сменой работы автором
а, во, вспомнил. есть люди, которые даже решили бизнес на автоматизации бэкапов сделать: https://twindb.com/
это тоже бывшие перконовцы

Anton
12.01.2018
10:50:52
Ну, я маленький велосипедик "под себя" и имел ввиду

Woice
12.01.2018
10:56:01
Добрый день, господа )
У меня есть один извращенный запрос mysql (громоздкий) который падает вот с таким сообщением:

lost
12.01.2018
10:58:24
майсам, датвидания...

Artem
12.01.2018
10:58:27
MyISAM? ?

Woice
12.01.2018
10:58:31
Происходит это в момент, когда mysql пытается сделать join десятка таблиц и создать tmp таблицу...

Google

Woice
12.01.2018
10:58:34

Artem
12.01.2018
10:58:36
конвертируй в InnoDB ENGINE

Woice
12.01.2018
10:58:56

Artem
12.01.2018
10:59:16
что мешает искать по InnoDB?

Woice
12.01.2018
10:59:42
в иннодб, подразумеваю - будет дольше...
он создает-создает tmp table... а потом вылетает вот cant \write и бла-бла-бла

lost
12.01.2018
11:00:52

Alex
12.01.2018
11:00:55

Woice
12.01.2018
11:01:05
Хочу пояснить... с таблицами все ок. ЛОМАЕТСЯ таблица, которая tmp... которая результат слияния join... То есть, как мне представляется, он пытается объединить данные в 1 таблицу... и в какой-то момент упирается в объем памяти... и таблица оказывается сломана - он её дропает и как бы "ничего и не было"

lost
12.01.2018
11:03:21

Woice
12.01.2018
11:03:27

Artem
12.01.2018
11:03:43
пусть заказчик за вас думает, раз это его требование ?

Woice
12.01.2018
11:03:55
как это связано? )

Artem
12.01.2018
11:04:07
о том как обойти эти падения, например
ну в чем логика вообще? 5.1 позапрошлый век

Google

Woice
12.01.2018
11:04:24
причем тут иннодб, если речь об майисам?
зачем это делать, если мне нужна скорость select?

lost
12.01.2018
11:06:09

Woice
12.01.2018
11:06:25

lost
12.01.2018
11:06:27
я бы начал с проверки свободного места

Woice
12.01.2018
11:06:36
можно и оракл хотеть.... это все не вредно

Alexey
12.01.2018
11:06:58
оракл для кошелька очень вредно

Woice
12.01.2018
11:07:10

Anton
12.01.2018
11:07:31
Пока они туда влезают

Alexey
12.01.2018
11:07:37
нет, там же путь написан /tmp/.... какая опертивка?

lost
12.01.2018
11:07:38

Woice
12.01.2018
11:07:44
пытался сделать папку на жестком диске, home/mysqldata/ дал ей пользователя одноименного с пользователем mysql и права 1777. Изменил в конфиге переменную tmpdir... оно просто не создает часть таблиц ВООБЩЕ. Собсно, он перестал работать с innoDB таблицами в той же БД
при рестарте - происходит 18 и 28 ошибка (access denied)

Alexey
12.01.2018
11:12:19
и значит нужно посмотреть, что там может быть. а может быть скорее всего мало места

Woice
12.01.2018
11:13:01

Google

Woice
12.01.2018
11:13:28
здесь пытался явным образом указывать папку tmpdir... но тогда он перестает видеть innoDB Oo

Alexey
12.01.2018
11:14:01
df что показывает?

Woice
12.01.2018
11:14:21
это виртуалка... если это важно )

Alexey
12.01.2018
11:15:43
скорее всего временные таблицы переполняют tmpfs. хотя тут картина неполная
я бы вообще начал с ответа на вопрос "какого хрена временных таблиц на 4G создаётся". но это долго и муторно. а так можно tmpdir направить на корневую фс

Woice
12.01.2018
11:16:52

Alexey
12.01.2018
11:17:07
это не про то переполнение говорили. здесь оно уже произошло

Woice
12.01.2018
11:17:18
"такая вот особенность" (

Alexey
12.01.2018
11:17:38
и вот таблицы на диске забили весь tmpfs. опять же, скорее всего, потому что по тому кусочку errog лога трудно всю картину увидеть

Woice
12.01.2018
11:17:53

Alexey
12.01.2018
11:18:03
подозрительная какая-то особенность. но аудит запросов и схемы — довольно дорогая услуга :)

Woice
12.01.2018
11:18:04
ибо я пытался )

Alexey
12.01.2018
11:18:59
в tmpfs лимит на 4G. неважно какая fs, в памяти или на диске, у неё есть лимит. вот за этот лимит мы здесь вылезаем

Artem
12.01.2018
11:19:17
шта?

Woice
12.01.2018
11:19:24

Google

Artem
12.01.2018
11:19:25
у меня tmpfs 10gb

Woice
12.01.2018
11:19:34
типа 32 64? )

Alexey
12.01.2018
11:21:10
хосспади. кто о чём
я вот об этом:
tmpfs has three mount options for sizing:
size: The limit of allocated bytes for this tmpfs instance. The
default is half of your physical RAM without swap. If you
oversize your tmpfs instances the machine will deadlock
since the OOM handler will not be able to free that memory.

Artem
12.01.2018
11:21:32
ну ты ж сам пишешь о том что в tmpfs лимиты ?

Alexey
12.01.2018
11:21:35
https://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt
да, в tmpfs лимиты, какая неожиданность
а так бы весёлая жизнь была у сисадминов

Woice
12.01.2018
11:23:13

Alexey
12.01.2018
11:23:44
я предлагал tmpdir положить на корневую fs

Woice
12.01.2018
11:24:44
все таблицы с данным движком...
не очень понятно почему...