Зависает сайт с БД на выделенном сервере - MySQL
Формулировка задачи:
Вот такая ситуация. Заказал выделенный сервер. Ресурсы хорошие. 16 гиг оперативной памяти. 4 терабайта на винте и так далее. Процессор четыре ядра... короче норм. Залил в базу инфу. Есть таблица на 20 гиг. Там пол ляма строк. Сайт просто летает. Но иногда его глючит и страница висит. Не открывается. В phpMyAdmin висит процесс. Он там может день висеть и ничего не происходит, пока я его не завершу. Напрягал сегодня целый день сисадмина хостера. Он там всё, что мог переделал. И результат нулевой. После его переделок даже хуже стало. Я изначально собирался делать рандомную выборку. Потом сделал по последним ид. И в конечном итого вообще сделал без ORDER BY `id` desc
Потому что висит всё. Ничего не понимаю. Страницы просто летали. Откроешь одну... вторую... третью, а потом висит. И что интересно. Страница висит, а я захожу уже с другого браузера и эта же страница открывается без проблем. Потом пошарюсь туда-сюда по сайту и в этом браузере тоже зависает. Захожу с третьего и опять норм. Короче, висит не сайт, а именно пользователь, который заходит.
Есть идеи?
Решение задачи: «Зависает сайт с БД на выделенном сервере»
textual
Листинг программы
[client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] #innodb_force_recovery = 0 init-connect="SET NAMES cp1251" user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /home/mysql tmpdir = /tmp language = /usr/share/mysql/english skip-external-locking skip-networking local-infile=0 key_buffer_size = 128M sort_buffer_size = 128M table_cache = 2048 key_buffer = 1G max_allowed_packet = 16M thread_stack = 256K thread_cache_size = 16 myisam-recover = BACKUP max_connections = 128 max_user_connections = 8 thread_concurrency = 16 query_cache_limit = 50M query_cache_size = 200M query_cache_type = 1 open_files_limit = 65536 innodb=OFF default-storage-engine = MyISAM innodb_file_per_table = 1 innodb_file_format = Barracuda innodb_file_format_max = Barracuda innodb_flush_log_at_trx_commit = 2 innodb_flush_method = O_DIRECT innodb_buffer_pool_size = 4G low-priority-updates tmp_table_size = 2G max_heap_table_size = 2G table_open_cache = 32768 table_definition_cache = 32768 optimizer_switch = 'mrr=on' optimizer_switch = 'mrr_cost_based=off' optimizer_switch = 'optimize_join_buffer_size=on' join_cache_level = 6 join_buffer_space_limit = 256M join_buffer_size = 64M [mysqldump] quick quote-names max_allowed_packet = 128M [mуsql] #no-auto-rehash # faster start of mysql but no tab completition [isamchk] key_buffer = 128M !includedir /etc/mysql/conf.d/ [client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] #innodb_force_recovery = 0 init-connect="SET NAMES cp1251" user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /home/mysql tmpdir = /tmp language = /usr/share/mysql/english skip-external-locking skip-networking local-infile=0 key_buffer_size = 128M sort_buffer_size = 128M table_cache = 2048 key_buffer = 1G max_allowed_packet = 16M thread_stack = 256K thread_cache_size = 16 myisam-recover = BACKUP max_connections = 128 max_user_connections = 8 thread_concurrency = 16 query_cache_limit = 50M query_cache_size = 200M query_cache_type = 1 open_files_limit = 65536 innodb=OFF default-storage-engine = MyISAM innodb_file_per_table = 1 innodb_file_format = Barracuda innodb_file_format_max = Barracuda innodb_flush_log_at_trx_commit = 2 innodb_flush_method = O_DIRECT innodb_buffer_pool_size = 4G low-priority-updates tmp_table_size = 2G max_heap_table_size = 2G table_open_cache = 32768 table_definition_cache = 32768 optimizer_switch = 'mrr=on' optimizer_switch = 'mrr_cost_based=off' optimizer_switch = 'optimize_join_buffer_size=on' join_cache_level = 6 join_buffer_space_limit = 256M join_buffer_size = 64M [mysqldump] quick quote-names max_allowed_packet = 128M [mуsql] #no-auto-rehash # faster start of mysql but no tab completition [isamchk] key_buffer = 128M !includedir /etc/mysql/conf.d/
Объяснение кода листинга программы
Код представлен в виде настроек для сервера баз данных MySQL. Ниже приведён список этих настроек в виде нумерованного списка с указанием названия и значения каждой:
- [client] port = 3306 socket = /var/run/mysqld/mysqld.sock
- [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0
- [mysqld]
init-connect =
SET NAMES cp1251
user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /home/mysql tmpdir = /tmp language = /usr/share/mysql/english skip-external-locking skip-networking local-infile = 0 key_buffer_size = 128M sort_buffer_size = 128M table_cache = 2048 key_buffer = 1G max_allowed_packet = 16M thread_stack = 256K thread_cache_size = 16 myisam-recover = BACKUP max_connections = 128 max_user_connections = 8 thread_concurrency = 16 query_cache_limit = 50M query_cache_size = 200M query_cache_type = 1 open_files_limit = 65536 innodb = OFF default-storage-engine = MyISAM innodb_file_per_table = 1 innodb_file_format = Barracuda innodb_file_format_max = Barracuda innodb_flush_log_at_trx_commit = 2 innodb_flush_method = O_DIRECT innodb_buffer_pool_size = 4G low-priority-updates tmp_table_size = 2G max_heap_table_size = 2G table_open_cache = 32768 table_definition_cache = 32768 optimizer_switch = 'mrr=on' optimizer_switch = 'mrr_cost_based=off' optimizer_switch = 'optimize_join_buffer_size=on' join_cache_level = 6 join_buffer_space_limit = 256M join_buffer_size = 64M - [mysqldump] quick quote-names max_allowed_packet = 128M
- [mуsql]
no-auto-rehash # faster start of mysql but no tab completition
- [isamchk] key_buffer = 128M
- !includedir /etc/mysql/conf.d/
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д