Большие объёмы данных. Web сервер. Какую базу данных юзать?

F
На сайте с 20.02.2013
Offline
3
1421

Всем привет.

Исходные данные.

Сервер:

CPU: CORE I7 2600K 3.40GHZ

RAM: 32 GB

На сервере percona + handlersocket + nginx + php-fpm.

Mysql падает при insert в 100К/минуту. (innodb xtradb)

Запись ведется в одну таблицу.

mysql падает.

Есть вариант с множеством таблиц, но опять же неизвестно как себя поведет mysql.

Под mysql выделено 25гб оперативы. Все конфиги максимальные.

Проблема - база падает :) Хотелось бы выжать максимум.

Вопрос:

Что посоветуете использовать вместо mysql?

С postgre работали, медленная она.

php код максимально оптимизирован. mysql функции не используются (только handlersocket)

Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#1

Хорошие у вас исходные данные, а точнее их полное отсутствие :))))

my.cnf в студию, а так же понять бы объем базы для начала....

Есть около 15.000 ipv4 !!! (http://onyx.net.ua/price.php#ipv4) Качественный хостинг с 2005 года - лучшее клиентам! (http://onyx.net.ua/)
Оптимизайка
На сайте с 11.03.2012
Offline
396
#2

А Redis не пробовали?

http://redis.io/topics/benchmarks

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
P
На сайте с 16.03.2009
Offline
144
#3

my.cnf ?

покажите статистику, например графики munin -> ram, а так же mysql

не должно оно падать, в логах что пишет на этот счет?

VO
На сайте с 27.07.2008
Offline
149
#4

fawtuowo, дисковая система?

N
На сайте с 06.05.2007
Offline
419
#5
Проблема - база падает

Падает со стола на пол и рассыпается? Нет такого технического термина.

Опишите что именно происходит.

fawtuowo:
Что посоветуете использовать вместо mysql?

два сервера с mysql. это же очевидно.

Действительно ли нужно вставлять такой объем данных быстро?

а может отложенная вставка ? а предварительная агрегация до mysql?

Кнопка вызова админа ()
Andreyka
На сайте с 19.02.2005
Offline
822
#6

Вероятно вы как минимум выбрали неверный компонент, а скорее всего - целиком не верно создали вашу систему.

Не стоит плодить сущности без необходимости
iamsens
На сайте с 26.08.2009
Offline
115
#7

а в логе что пишет ( капитан спрашивает) ?

babnicks
На сайте с 23.10.2009
Offline
47
#8
fawtuowo:
Всем привет.

Mysql падает при insert в 100К/минуту. (innodb xtradb)

Под mysql выделено 25гб оперативы. Все конфиги максимальные.

100К в минуту это около 3к в секунду, это НЕ сильно много. Самое главное не куда делать insert, а то, как Вы дальше хотите использовать эти данные и как Вы их используете.

Лить с такой скоростью в таблицу, из которой одновременно происходят ПОСТОЯННЫЕ выборки у Вас не получится, это надо понять на берегу.

Если весь объем данных не нужен одновременно, то можно сделать что-то типа буфера, например на MongoDB (или еще один instance MySQL, а может и просто таблица "рядом"), в него осуществлять онлайн insert, потом перетягивать данные за 5-10 минут в mysql.

Грубо говоря, Вам надо разделить то место, куда делается insert, от того места, откуда делаются постоянные select'ы

И еще важный момент, таблица, в которую делается insert должна иметь КАК МОЖНО МЕНЬШЕ индексов. Только самые необходимые, по которым данные потом можно будет стянуть в общую таблицу, из которой делаются select'ы

fawtuowo:

Mysql падает при insert в 100К/минуту. (innodb xtradb)

Вы имеете ввиду что наступает полный dead lock с переполнением очереди?

100% защита от спам-ботов (https://www.keycaptcha.com)
TP
На сайте с 10.01.2010
Offline
90
#9

mysql handlersocket может делать 100K не в минуту, а в секунду скорее.

Ванга-мод:

У топик-стартера глючит память на сервере, и поэтому mysql у него "падает".

Топик-стартер, меняй сервер на EX6S.

babnicks
На сайте с 23.10.2009
Offline
47
#10
ThePriest:
mysql handlersocket может делать 100K не в минуту, а в секунду скорее.

Не, если будут идти постоянные выборки и много индексов на таблице, то сдохнет... а насчет ванга-модэ - все может быть :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий