Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сколько INSERTов что падает сервер / 25 сообщений из 29, страница 1 из 2
03.07.2014, 17:17:00
    #38687091
fourty
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
Здавствуйте. Все довольно просто если не учитывать нагрузку. Есть сайт, он выдает страницы, если на странице есть реклама то происходит вставка записи в таблицу вида u_id, ads_id, date, type (тип действия в данном случае view = показ) движек myisam. В конце дня собираются данные о кол-ве показов, сколько из них уникальных и тд. И таблица очищается. И так каждый день.

Все вроде нормально, но как только количество показов переваливает за 200 000 в сутки, сервер падает из-за больного количества дисковых операций записи. Одним из вариантов я вижу сбор статистики в таблицу на движке memory (чтобы не обращаться к диску для insertа в нее) и через какой то период вываливать из нее в обычную. Но тогда возникает вопрос как поставить создание таблицы автозагрузку сервера? Если через init.d, то скорее всего он выполнится до старта mysql, с задержкой тоже некамильфо.

Может быть вы предложите другой вариант хранения статистики в данном случае?
...
Рейтинг: 0 / 0
03.07.2014, 17:54:34
    #38687127
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
Если не требуется какой-то супер-оперативности, то писать в файл, а файл периодически (раз в час-сутки) грузить в таблицу.
...
Рейтинг: 0 / 0
03.07.2014, 18:09:55
    #38687139
fourty
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
Так запись в файл все равно же обращение к диску на запись, есть существенная разница как писать на диск через бд или напрямую?
...
Рейтинг: 0 / 0
03.07.2014, 18:16:25
    #38687143
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
fourtyТак запись в файл все равно же обращение к диску на запись, есть существенная разница как писать на диск через бд или напрямую?Во-первых, файлы лучше кэшируются (в отличие от таблиц MyISAM, которые не кэшируются вовсе).
Во-вторых, нет перестройки и записи индексов (не без индексов же у вас таблица?).
...
Рейтинг: 0 / 0
03.07.2014, 18:17:51
    #38687146
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
В третьих, писать можно в несколько файлов, чтобы меньше налетать на взаимную блокировку писателей.
Тогда как в MyISAM при любой попытке модификации таблицы она блокируется целиком.
...
Рейтинг: 0 / 0
03.07.2014, 18:53:08
    #38687181
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
авторВо-первых, файлы лучше кэшируются (в отличие от таблиц MyISAM, которые не кэшируются вовсе).
просто эпично.

ссылку на доку дадите?
...
Рейтинг: 0 / 0
03.07.2014, 19:07:33
    #38687198
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
ScareCrowавторВо-первых, файлы лучше кэшируются (в отличие от таблиц MyISAM, которые не кэшируются вовсе).
просто эпично.

ссылку на доку дадите? The MyISAM Storage Engine
Data caches No
...
Рейтинг: 0 / 0
03.07.2014, 19:20:23
    #38687227
fourty
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
Да дело совершенно не кешируются. Селект из данной таблицы делается ровно раз в сутки, чтобы подсчитать показатели. А вот INSERTов очень много.
...
Рейтинг: 0 / 0
03.07.2014, 19:21:08
    #38687230
fourty
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
* Да дело совершенно не в кешировании
...
Рейтинг: 0 / 0
03.07.2014, 19:29:04
    #38687238
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
fourty* Да дело совершенно не в кешированииИ в нем тоже. Хотя монопольная блокировка таблиц, пожалуй, похуже эффект дает.
...
Рейтинг: 0 / 0
03.07.2014, 19:41:00
    #38687249
fourty
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
То есть memory таблицы Вы не рекомендуете использовать в данной ситуации? Кроме потери статистики при перезагрузке сервера есть какие-то еще причины?
...
Рейтинг: 0 / 0
03.07.2014, 19:45:12
    #38687253
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
fourtyТо есть memory таблицы Вы не рекомендуете использовать в данной ситуации? Кроме потери статистики при перезагрузке сервера есть какие-то еще причины?Да нет, почему же? Если оперативки хватает, то пожалуйста. Просто дискового места обычно больше и оно обычно дешевле.

Только почитайте про особенности этого движка, например:
http://dev.mysql.com/doc/refman/5.5/en/memory-storage-engine.html MEMORY tables use a fixed-length row-storage format. Variable-length types such as VARCHAR are stored using a fixed length.
...
Рейтинг: 0 / 0
03.07.2014, 19:47:53
    #38687254
fourty
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
miksoft,

Спасибо попробую оба варианта, начну с memory ради интереса. Может быть есть еще решения для больших нагрузок до кучи?
...
Рейтинг: 0 / 0
03.07.2014, 19:54:38
    #38687258
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
fourtyМожет быть есть еще решения для больших нагрузок до кучи?Решение, в общем-то, одно - буферизация. Просто реализовать ее можно разными способами.
Еще вариант - перевести таблицу на InnoDB с включенным innodb_file_per_table.

Возможны частные решения в рамках конкретной задачи, но это уже надо разбираться в задаче.
Например, бывает, что "сырые" данные не пишут вообще, а модифицируют уже имеющиеся счетчики, суммы и прочие агрегаты.
...
Рейтинг: 0 / 0
03.07.2014, 20:30:54
    #38687292
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
автор количество показов переваливает за 200 000 в сутки,
детский объем для среднестатистического openx.
просто поставьте этот скрипт.
...
Рейтинг: 0 / 0
04.07.2014, 14:08:04
    #38687977
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
miksoftScareCrowпропущено...

просто эпично.

ссылку на доку дадите? The MyISAM Storage Engine
Data caches No

просто эпика. ты сделал мой день.
...
Рейтинг: 0 / 0
04.07.2014, 14:24:22
    #38687992
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
ScareCrowmiksoftпропущено...
The MyISAM Storage Engine
пропущено...


просто эпика. ты сделал мой день.Конкретные возражения по делу есть? Со ссылками и прочим?
...
Рейтинг: 0 / 0
04.07.2014, 14:40:07
    #38688016
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
miksoft, эта пометка в документации сделана просто для "продвижения" от innodb. означает лишь то, что внутри mysql нет специально выделенной памяти для кеширования данных в отличие от innodb где buffer pool заполняется страницами и данных и индекса.
в контексте обсуждения, очевидно, что данные в myisam кешируются как минимум не хуже чем данные в файлах.
...
Рейтинг: 0 / 0
04.07.2014, 14:45:20
    #38688021
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
netwindвнутри mysql нет специально выделенной памяти для кеширования данныхИменно об этом я и говорил (в контексте MyISAM, разумеется).
netwindв контексте обсуждения, очевидно, что данные в myisam кешируются как минимум не хуже чем данные в файлах.Мне не очевидно. Можно раскрыть мысль?
...
Рейтинг: 0 / 0
04.07.2014, 14:45:58
    #38688022
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
авторВо-первых, файлы лучше кэшируются (в отличие от таблиц MyISAM, которые не кэшируются вовсе).
фраза целиком неправильная ибо данные кэшируются ровно тем же местом что и файлы.

direct io я для myisam не знаю. настройка есть только для innodb
...
Рейтинг: 0 / 0
04.07.2014, 16:16:23
    #38688136
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
miksoftnetwindв контексте обсуждения, очевидно, что данные в myisam кешируются как минимум не хуже чем данные в файлах.Мне не очевидно. Можно раскрыть мысль?
не имея количественных данных о конкретном приложении, можно рассуждать только о качественных различиях.
память для кеширования они одну и ту же же разделяют между собой. так что в теории все одинаково будет.
...
Рейтинг: 0 / 0
04.07.2014, 17:22:29
    #38688258
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
miksoftМне не очевидно. Можно раскрыть мысль?Данные муисам не кэшируются самой СУБД. Это вовсе не говорит о том, что они не кэшируются ОС (точно так же, как и обычные файлы).
Другое дело, что СУБД "лучше знает", какие данные на данный момент больше нуждаются в кэшировании, но если мы сравниваем не инно с муисамом, а файлик с муисамом, то разницы тут невооружённым взглядом кагбэ не заметить (имхо).
...
Рейтинг: 0 / 0
04.07.2014, 17:35:08
    #38688284
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
tanglirmiksoftМне не очевидно. Можно раскрыть мысль?Данные муисам не кэшируются самой СУБД. Это вовсе не говорит о том, что они не кэшируются ОС (точно так же, как и обычные файлы).
Другое дело, что СУБД "лучше знает", какие данные на данный момент больше нуждаются в кэшировании, но если мы сравниваем не инно с муисамом, а файлик с муисамом, то разницы тут невооружённым взглядом кагбэ не заметить (имхо).Ну хорошо, втроем уговорили :)
В очередной раз даю себе задание слазить в исходники по этому вопросу (ибо не факт с какими именно опциями открывается файл и как часто он флэшится).
...
Рейтинг: 0 / 0
04.07.2014, 17:58:21
    #38688306
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
miksoft, все с обычными опциями.
Есть правда интересный трюк : myisam_use_mmap=1.
...
Рейтинг: 0 / 0
04.07.2014, 18:09:24
    #38688313
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сколько INSERTов что падает сервер
netwindmiksoft, все с обычными опциями.
Есть правда интересный трюк : myisam_use_mmap=1.я говорил не об опциях MySQL, а об опциях при вызове системной функции открытия файла.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сколько INSERTов что падает сервер / 25 сообщений из 29, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]