Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте, Я уже несколько дней читаю Ваш форум... и решил все же создать темку!
параметры VDS следующие:
ОЗУ 512
CPU 768
Данная VDS затачивается под движек php-fusion и некоторые запросы очень медленно выполняются, например:
#1135 - Can't create a new thread (errno 12); if you are not out of available memory, you can consult the manual for a possible OS-dependent bug
сейчас файл my.cnf выглядит так:
[mysqld]
skip-name-resolve
local-infile=0
skip-locking
skip-innodb
skip-bdb
key_buffer_size = 96M
table_cache = 1024
thread_cache = 16
record_buffer = 1M
max_connections = 150
sort_buffer_size = 8M
query_cache_limit = 1M
query_cache_size = 32M
query_cache_type = 1
join_buffer_size = 32M
log_slow_queries
long_query_time=1
[mysql]
no-auto-rehash
что бы Вы мне посоветовали для оптимизации работы базы данных, сейчас остались проблемы с запросами в которых присутствует JOIN
Неактивен
еще появляются такие ошибки в пики нагрузки
Can't create/write to file '/tmp/#sql_5d1_0.MYD' (Errcode: 17)
хотя top показывает что еще примерно 200 Мб свободно в памяти
Неактивен
$ perror 12
OS error code 12: Cannot allocate memory
$ perror 17
OS error code 17: File exists
Проблему Вы определили правильно, это действительно нехватка памяти. Какой тип таблиц у Вас?
MyISAM? Если InnoDB, то все ниженаписанное будет неверно
У Вас не хватает памяти для того, чтобы объединить эти таблички. MySQL старается не вылезти за
значения, которые Вы задали - key_buffer_size, join_buffer_size и sort_buffer_size (причем последний
выделяются на поток). Попробуйте поставить значение key_buffer_size больше (например, 200 мб),
а значение join_buffer_size - меньше. Нужно убедиться, что на всех табличках этого запроса есть
хорошие индексы (тогда join_buffer вообще не нужен).
Неактивен
paulus написал:
$ perror 12
OS error code 12: Cannot allocate memory
$ perror 17
OS error code 17: File exists
Проблему Вы определили правильно, это действительно нехватка памяти. Какой тип таблиц у Вас?
MyISAM? Если InnoDB, то все ниженаписанное будет неверно
У Вас не хватает памяти для того, чтобы объединить эти таблички. MySQL старается не вылезти за
значения, которые Вы задали - key_buffer_size, join_buffer_size и sort_buffer_size (причем последний
выделяются на поток). Попробуйте поставить значение key_buffer_size больше (например, 200 мб),
а значение join_buffer_size - меньше. Нужно убедиться, что на всех табличках этого запроса есть
хорошие индексы (тогда join_buffer вообще не нужен).
Спасибо) Тип таблиц MyISAM
Изменил параметры my.cnf на Ваш взгляд каких дириктив еще нехватает или что настроено не должным образом?
[mysqld]
lower-case-table-names = 2
skip-locking
skip-name-resolve
skip-networking
local-infile=0
skip-locking
skip-innodb
skip-bdb
key_buffer_size = 128M
table_cache = 512
record_buffer = 1M
thread_stack = 128K
thread_cache_size = 8
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
max_connections = 150
sort_buffer_size = 8M
wait_timeout=60
query_cache_limit = 1M
query_cache_size = 32M
query_cache_type = 1
join_buffer_size = 8M
log_slow_queries = /var/log/mysql/mysql-slow.log
log_slow_queries
long_query_time=1
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
#no-auto-rehash
[isamchk]
key_buffer = 8M
sort_buffer_size = 8M
[myisamchk]
key_buffer = 8M
sort_buffer_size = 8M
[mysqlhotcopy]
interactive-timeout
Неактивен
Ничего плохого не вижу
Неактивен
а где можно найти полное описание параметров файла my.cnf желательно на русском языке!
Неактивен
Есть два правильных места - сайт mysql.com и, собственно, help от сервера (mysqld --help --detail).
Оба на английском, по-русски актуальных источников не знаю.
Неактивен