SocialEngine из inobdb в MyISAM и обратно

serg122

Постоялец
Регистрация
16 Сен 2006
Сообщения
70
Реакции
7
Можно ли перевести базу данных из из inobdb в MyISAM а когда уже если много пользователей будет то обратно в inobd?
 
Нашел форум где обсуждают данный манёвр Я в этом не очень силён но прочитав понял что можно переводить без существенных последствий.
 
Innodb и MyISAM это просто разные способы хранения и обработки информации самим мускулом. Пееркидывай как хочеш, единственное что может случиться, нагрузка может увеличится из за того, что сам скрипт будет оптимизированн под один формат а юзать будеш другой. Но в этом случае можно перегнать все обратно и все.
Вообще по теме тебе чтоб не бегать между этими типами хранилища, проще попробывать сначала несколько модифицированный innodb попробывать.
Добавь в конфиг мускуля строку "innodb_file_per_table"
Она заставляет MySQL хранить каждую таблицу хранилища InnoDB в отдельном файле с названием вида "ИмяБазы/ИмяТаблицы.ibd".
После перезапуска мускуля файлы для существующих таблиц создадутся и дефолтный "ibdata1" можно удалять.
Данная манипуляция позволит работать так, как будто у тебя в мускуле еинственная таблица и снизит нагрузку/увеличит скорость работы.
 
Innodb и MyISAM это просто разные способы хранения и обработки информации самим мускулом. Пееркидывай как хочеш, единственное что может случиться, нагрузка может увеличится из за того, что сам скрипт будет оптимизированн под один формат а юзать будеш другой. Но в этом случае можно перегнать все обратно и все.
Вообще по теме тебе чтоб не бегать между этими типами хранилища, проще попробывать сначала несколько модифицированный innodb попробывать.
Добавь в конфиг мускуля строку "innodb_file_per_table"
Она заставляет MySQL хранить каждую таблицу хранилища InnoDB в отдельном файле с названием вида "ИмяБазы/ИмяТаблицы.ibd".
После перезапуска мускуля файлы для существующих таблиц создадутся и дефолтный "ibdata1" можно удалять.
Данная манипуляция позволит работать так, как будто у тебя в мускуле еинственная таблица и снизит нагрузку/увеличит скорость работы.
Спасибо, я не уверен но кажется быстрый стал работать скрипт, особенно в insert и update:)
кроме того возможно что конфигурации не соответствуют параметрам сервера?
Код:
[client]
port        = 3306
socket        = /var/lib/mysql/mysql.sock
default-character-set = cp1251
[mysqld]
port        = 3306
socket        = /var/lib/mysql/mysql.sock
innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = innodb1:100M;innodb2:100M:autoextend
innodb_file_per_table
#skip-innodb
skip-locking
key_buffer = 2M
query_cache_limit=1M
query_cache_size=4M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K
server-id    = 1
default-character-set=cp1251
character-set-server=cp1251
collation-server=cp1251_general_ci
# init-connect="SET NAMES cp1251"
skip-character-set-client-handshake
[mysqldump]
quick
max_allowed_packet = 16M
default-character-set = cp1251
[mysql]
no-auto-rehash
default-character-set = cp1251
[isamchk]
key_buffer = 4M
sort_buffer_size = 4M
[myisamchk]
key_buffer = 4M
sort_buffer_size = 4M
[mysqlhotcopy]
interactive-timeout
vps 1500Mhz и 512Mb RAM
 
serg122
Я дико извиняюсь, но с с SE не дружу вообще. Мне даже негде посомтреть, какие там таблици и как они работают.
Если у тебя есть возможность, погоняй несколько дней сайт в нормальном режиме а после этого посмотри в phpmyadmin статистику. Там просто тупо и глупо подсвечивается красным, когда тех или иных переменных не хватает постоянно. Их и поправь. В основном это будет игра с буферами чтения, записи, кеши всевозможные и прочее.
Ну и из того, что в твоем конфиге просто не увидел
thread_concurrency
innodb_thread_concurrency
это параметры, улучшающие работу в потоках для мускуля просто и для мускуля в иннодб конкретно. Впиши их в конфиг, параметры укажи как количество ядер у твоей виртуалки, умноженное на 2. Тоесть если у тебя 1 ядро, то
thread_concurrency = 2
innodb_thread_concurrency = 2
если 2, то
thread_concurrency = 4
innodb_thread_concurrency = 4
и так далее, думаю ты понял.

А вообще, глобально, на самом деле сложно предлагать что то, не зная как скрипт работает и что он обычно юзает. Не бывает идеальных вариантов, я себе иногда месяцами подправляю конфиги. Я вот то, что сказал, это просто вещи, котоыре по какой то причине не идут сразу в дефолтном конфиге, хотя им там самое место :)
 
Назад
Сверху