Производительность размера таблицы Mysql InnoDB

Вы почти тут же. За исключением того, что ответы, прибывающие из Google, не будут рассматривать его как пакет к 1.2.3.4:80. Они будут рассматривать его как 1.2.3.4:XXXXX, где XXXXX число случайного порта в непривилегированном диапазоне.

Кроме того, маршрутизатор сохранит список соединений в его таблице маршрутизации и направит возвращаемый пакет правильно к Вашему настольному компьютеру 192.168.1.2 вместо Вашего домашнего сервера.

То, что Вы хотите сделать, является довольно простой и нормальной установкой.

4
задан 12 August 2011 в 20:51
1 ответ

Так много вопросов !! Что касается вашего первого пункта, вы, вероятно, начнете замечать проблемы с производительностью, если начнете вызывать полное сканирование таблиц или объединения, которые создают временные таблицы. Вы можете отследить это, посмотрев на вывод EXPLAIN для ваших запросов. Вот некоторая информация об EXPLAIN:

http://weevilgenius.net/2010/09/mysql-explain-reference/

Что касается настроек, в идеале это здорово, если вы можете разместить всю свою базу данных в памяти. Вот переменные, которые, вероятно, наиболее полезно настраивать:

innodb_buffer_pool_size=8192M
innodb_additional_mem_pool_size=512M
innodb_log_buffer_size=8M
innodb_flush_method = O_DIRECT
key_buffer_size=4096M
read_buffer_size=1M
read_rnd_buffer_size=10M
sort_buffer_size=1M
join_buffer_size=1M
tmp_table_size=32M

Вы захотите сделать большинство из них настолько большими, насколько это возможно (вы захотите изучить некоторые из них, поскольку некоторые относятся к каждому соединению, а некоторые являются глобальными). Вы упомянули SHOW INNODB STATUS, что является отличным местом для начала. Попробуйте посмотреть на эти поля:

--------
FILE I/O
--------
Pending normal aio reads: 0, aio writes: 0,
 ibuf aio reads: 0, log i/o's: 0, sync i/o's: 0
Pending flushes (fsync) log: 0; buffer pool: 0
28889 OS file reads, 52982178 OS file writes, 35063424 OS fsyncs
0.00 reads/s, 0 avg bytes/read, 2.67 writes/s, 2.67 fsyncs/s

Они должны показать вам, привязаны ли вы к какому-либо IO. Тогда проверьте:

----------------------
BUFFER POOL AND MEMORY
----------------------

Free buffers       342668

, чтобы убедиться, что у вас есть свободные буферы.

Относительно вашего последнего вопроса о том, что контролировать, больше - лучше. Я использую OpenNMS для мониторинга производительности нашего сервера MySQL. Вот вещи, которые мы в настоящее время отслеживаем / предупреждаем о радикальных изменениях:

EventCount
Uptime
Bytes_received
Bytes_sent
Com_delete
Com_delete_multi
Com_insert
Com_insert_select
Com_select
Com_stmt_execute
Com_update
Com_update_multi
Created_tmp_disk_tables
Created_tmp_tables
key_buffer_size
key_cache_block_size
Key_blocks_unused
Key_read_requests
Key_reads
Key_write_requests
Key_writes
Open_files
Open_tables
table_open_cache
Questions
Slow_queries
Connections
Threads_created
Threads_cached
Threads_connected
Threads_running
1
ответ дан 3 December 2019 в 04:14

Теги

Похожие вопросы