myisam vs innodb

DarkEmpire

偽造
Местный
Сообщения
380
Розыгрыши
0
Реакции
179
Репутация
240
Баллы
558
Задался вопросом, какой движок лучше для бд сервера l2?
Что брать за основу myisam или innodb?

Судя по отзывам myisam быстрее, а innodb надежнее.
Кто уже сталкивался с проблемами myisam, если таковые имелись?
И у кого есть практика использования innodb, как она себя ведет при большой нагрузке?
 
Последнее редактирование:

Zubastic

Знающий
Проверенный
Сообщения
861
Розыгрыши
0
Реакции
425
Репутация
1 075
Баллы
460
У Л2 небольшая нагрузка.
 

DarkEmpire

偽造
Местный
Сообщения
380
Розыгрыши
0
Реакции
179
Репутация
240
Баллы
558
[HIDE=25]
И за одно кто что может сказать на счет мой настройки my.cnf?

Код:
# The following options will be passed to all MySQL clients
[client]
#password                   = your_password
port                        = 3306
socket                      = /var/run/mysqld/mysqld.sock

# use [safe_mysqld] with mysql-3
[mysqld_safe]
err-log                     = /var/log/mysql/mysql.err

# add a section [mysqld-4.1] or [mysqld-5.0] for specific configurations
[mysqld]
user                        = mysql
port                        = 3306
socket                      = /var/run/mysqld/mysqld.sock
pid-file                    = /var/run/mysqld/mysqld.pid
log-error                   = /var/log/mysql/mysqld.err
slow_query_log
basedir                     = /usr
datadir                     = /var/lib/mysql
skip-external-locking
key_buffer                  = 384M
max_allowed_packet = 16M
table_cache = 512
sort_buffer_size = 2M
net_buffer_length           = 16K
read_buffer_size = 512K
read_rnd_buffer_size = 768K
myisam_sort_buffer_size = 64M
thread_cache_size = 30
query_cache_size = 16M
thread_concurrency = 12

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

max_connections = 500
tmp_table_size = 256M
myisam_max_sort_file_size=100G
key_buffer_size = 1G

# security:
# using "localhost" in connects uses sockets by default
# skip-
bind-address                = 0.0.0.0

#log-bin

# point the following paths to different dedicated disks
tmpdir                      = /tmp/
#log-update                 = /path-to-dedicated-directory/hostname

# you need the debug USE flag enabled to use the following directives,
# if needed, uncomment them, start the server and issue
# #tail -f /tmp/mysqld.sql /tmp/mysqld.trace
# this will show you *exactly* what's happening in your server ;)

#log                        = /tmp/mysqld.sql
#gdb
#debug                      = d:t:i:o,/tmp/mysqld.trace
#one-thread

# uncomment the following directives if you are using BDB tables
#bdb_cache_size             = 4M
#bdb_max_lock               = 10000

# the following is the InnoDB configuration
# if you wish to disable innodb instead
# uncomment just the next line
#skip-innodb
#
# the rest of the innodb config follows:
# don't eat too much memory, we're trying to be safe on 64Mb boxes
# you might want to bump this up a bit on boxes with more RAM
innodb_buffer_pool_size = 3G
# this is the default, increase it if you have lots of tables
innodb_additional_mem_pool_size = 20M
#
# i'd like to use /var/lib/mysql/innodb, but that is seen as a database :-(
# and upstream wants things to be under /var/lib/mysql/, so that's the route
# we have to take for the moment
#innodb_data_home_dir       = /var/lib/mysql/
#innodb_log_arch_dir        = /var/lib/mysql/
#innodb_log_group_home_dir  = /var/lib/mysql/
# you may wish to change this size to be more suitable for your system
# the max is there to avoid run-away growth on your machine
#innodb_data_file_path = ibdata1:10M:autoextend:max:2048M
# we keep this at around 25% of of innodb_buffer_pool_size
# sensible values range from 1MB to (1/innodb_log_files_in_group*innodb_buffer_pool_size)
innodb_log_file_size = 512M
# this is the default, increase it if you have very large transactions going on
innodb_log_buffer_size = 6M
# this is the default and won't hurt you
# you shouldn't need to tweak it
#set-variable = innodb_log_files_in_group=2
# see the innodb config docs, the other options are not always safe
innodb_flush_log_at_trx_commit = 2
#innodb_lock_wait_timeout = 50
#innodb_file_per_table
#innodb_flush_method O_DIRECT

innodb_thread_concurrency=12

join_buffer_size = 256K
memlock
max_heap_table_size = 196M
bulk_insert_buffer_size = 32M
query_cache_limit = 128K
long_query_time = 8
log-slow-queries
slow_query_log_file = /var/log/mysql/slowquery.err
log-warnings = 1
secure-auth
max_connect_errors = 10000
skip-host-cache
skip-name-resolve

[mysqldump]
quick
max_allowed_packet          = 16M

[mysql]
# uncomment the next directive if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer                  = 256M
sort_buffer_size            = 256M
read_buffer                 = 2M
write_buffer                = 2M

[myisamchk]
key_buffer                  = 256M
sort_buffer_size            = 256M
read_buffer                 = 2M
write_buffer                = 2M

[mysqlhotcopy]
interactive-timeout
[/HIDE]
 
Последнее редактирование:

Desquire

Последний из атеистов
Партнер
Сообщения
1 266
Розыгрыши
1
Реакции
756
Репутация
1 102
Баллы
844
Почитать стоит например тут -
 

DarkEmpire

偽造
Местный
Сообщения
380
Розыгрыши
0
Реакции
179
Репутация
240
Баллы
558
В общем где мало записи и много чтения нужно myisam, а во всем остальном innodb
 

Desquire

Последний из атеистов
Партнер
Сообщения
1 266
Розыгрыши
1
Реакции
756
Репутация
1 102
Баллы
844
Сверху Снизу