powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сильно большой Query_time: не могу побороть, очень прошу помочь
6 сообщений из 6, страница 1 из 1
Сильно большой Query_time: не могу побороть, очень прошу помочь
    #39033281
hitmanhunt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу помочь начинающему коллеге :) Может где в my.ini ошибка? Уже очень много форумов перелопатил, ничего не могу найти...(

Вот такое получаю я в slow.log каждые 10-15 мин:

# Query_time: 61 Lock_time: 0 Rows_sent: 0 Rows_examined: 10228246
SELECT * FROM 111_data WHERE `sn` = 18920 AND `datetime` BETWEEN ("2015-08-20 07:57") AND ("2015-08-20 08:57") ORDER BY `id` DESC;

phpmyadmin тоже целую минуту выбирает `sn` из этой таблицы в 10 000 000 строк...
при этом загруз процессора сервера на 7-8%, а оперативки 6 ГБ из 16...
Проверку и оптимизацию делал - везде "ОК"..

настройки в my.ini:

default-storage-engine=INNODB
max_connections=2000
query_cache_size=128M
table_cache=700
tmp_table_size=128M
thread_cache_size=64
key_buffer_size=1024M
read_buffer_size=1M
read_rnd_buffer_size=1M
sort_buffer_size=4M
innodb_additional_mem_pool_size=128M
innodb_flush_log_at_trx_commit=2
innodb_log_buffer_size=16M
innodb_log_file_size=128M
innodb_thread_concurrency=50
innodb_buffer_pool_size=1024M
(при попытке увеличения последнего до 2048М мускул вообще отказался работать, в mysql.err:

InnoDB: memory with malloc! Total allocated memory
InnoDB: by InnoDB 140891972 bytes. Operating system errno: 8
InnoDB: Check if you should increase the swap file or
InnoDB: ulimits of your operating system.
InnoDB: On FreeBSD check you have compiled the OS with
InnoDB: a big enough maximum process size.
InnoDB: Note that in most 32-bit computers the process
InnoDB: memory space is limited to 2 GB or 4 GB.
InnoDB: We keep retrying the allocation for 60 seconds...
InnoDB: Fatal error: cannot allocate the memory for the buffer pool
150820 8:41:13 [ERROR] Default storage engine (InnoDB) is not available
150820 8:41:13 [ERROR] Aborting
)



Также после каждого "InnoDB: Started" пишет такое:
C:\AppServ\MySQL\bin\mysqld-nt: Out of memory (Needed 940254208 bytes)
C:\AppServ\MySQL\bin\mysqld-nt: Out of memory (Needed 705189888 bytes)
C:\AppServ\MySQL\bin\mysqld-nt: Out of memory (Needed 528890880 bytes)
150820 13:41:20 [Note] C:\AppServ\MySQL\bin\mysqld-nt: ready for connections.
Version: '5.0.51b-community-nt-log' socket: '' port: 3306 MySQL Community Edition (GPL)


п.с. а phpMyAdmin выделяет красным:
Innodb_buffer_pool_pages_dirty 52
Innodb_buffer_pool_reads 3,067
Innodb_row_lock_time_max 78
Innodb_row_lock_waits 1,332
Handler_read_rnd 557 k
Handler_read_rnd_next 3,274.62 M
Key_reads 410
Key_writes 631
Opened_tables 382
...
Рейтинг: 0 / 0
Сильно большой Query_time: не могу побороть, очень прошу помочь
    #39033327
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПрошу помочь начинающему коллеге :) Может где в my.ini ошибка? Уже очень много форумов перелопатил, ничего не могу найти...(
А что же вы ищите ? В mysql нет никакой настройки "работать_быстро = 1". То есть, ошибки быть в принципе не может.


То, что при увеличении отдельных параметров возникает ошибка - это совсем другой вопрос. Но прежде вам надо понять что ищите.
...
Рейтинг: 0 / 0
Сильно большой Query_time: не могу побороть, очень прошу помочь
    #39033355
hitmanhunt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я ищу проблему, почему запрос (например найти 'sn' в phpmyadmin), который должен выполнятся за несколько секунд, выполняется минуту, и то не всегда...

Таблица большая? А как же тогда работают системы где 1 000 000 000 строк, а не 10?..
...
Рейтинг: 0 / 0
Сильно большой Query_time: не могу побороть, очень прошу помочь
    #39033379
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hitmanhunt, а почему это вы решили что запрос должен выполняться несколько секунд? Раньше везло, а сейчас не везет.

У вас sql - декларативный язык. Вы описали какие данные вам нужны - сервер их как-нибудь выполняет одним из сотен возможных способов. Там же не было времени, способа, подсказок и тд.

Таким образом, приходим к необходимости узнать каким же именно способом работает ваш запрос .
оператор EXPLAIN показывает вам план выполнения запроса. То есть, вам нужно посмотреть план и понять как запрос ускорить.
Ускорить можно, например, "подсказками" - создать индекс или же изменить запрос чтобы использовались уже созданные индексы.
А с настройками mysql план напрямую не связан.
...
Рейтинг: 0 / 0
Сильно большой Query_time: не могу побороть, очень прошу помочь
    #39033381
hitmanhunt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
теперь понятно, спасибо)
...
Рейтинг: 0 / 0
Сильно большой Query_time: не могу побороть, очень прошу помочь
    #39033389
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hitmanhuntinnodb_buffer_pool_size=1024M
(при попытке увеличения последнего до 2048М мускул вообще отказался работать, в mysql.err:

InnoDB: memory with malloc! Total allocated memory
InnoDB: by InnoDB 140891972 bytes. Operating system errno: 8
InnoDB: Check if you should increase the swap file or
InnoDB: ulimits of your operating system.
InnoDB: On FreeBSD check you have compiled the OS with
InnoDB: a big enough maximum process size.
InnoDB: Note that in most 32-bit computers the process
InnoDB: memory space is limited to 2 GB or 4 GB.
InnoDB: We keep retrying the allocation for 60 seconds...
InnoDB: Fatal error: cannot allocate the memory for the buffer pool
150820 8:41:13 [ERROR] Default storage engine (InnoDB) is not available
150820 8:41:13 [ERROR] Aborting
)Судя по этому, у вас 32-разрядная версия MySQL. А чтобы утилизировать больше памяти нужно переходить на 64-разрядную версию. ОС, разумеется, тоже должна быть 64-разрядная.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сильно большой Query_time: не могу побороть, очень прошу помочь
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]