Приветствую.Пытаюсь немного разобраться с некоторыми нюансами производительности MySQL, среди прочего нашёл такой параметр как thread_cache_size.
Работает:
Name : MariaDB-server
Arch : x86_64
Version : 5.5.39На CentOS 6.5
В конфиге установил:
thread_cache_size = 4
Перезапустил, проверяю статус:
MariaDB [mysql]> show status where variable_name like 'Threads%';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| Threads_cached | 0 |
| Threads_connected | 2 |
| Threads_created | 23 |
| Threads_running | 1 |
+-------------------+-------+
4 rows in set (0.00 sec)Далее - запуска mysqlslap:
$ mysqlslap -v -u user -p --auto-generate-sql --concurrency=10 --number-of-queries=100
...
Number of clients running queries: 10
Average number of queries per client: 10Если я правильно понял, то после отключения клиентов MySQL должен сохранить 4 потока в кэше, и использовать их при подключении новых клиентов.
Но, в статусе до сих пор:
MariaDB [mysql]> show status where variable_name='Threads_cached';
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| Threads_cached | 0 |
+----------------+-------+
1 row in set (0.00 sec)Threads_cached всё ещё 0.
ЧЯДНТ?
Спасибо.
> ЧЯДНТ?Очки розовые сними! Если есть кэш это ещё не значит, что его будут использовать. :D
Кстати, а ты уверен, что при одном работающем треде, иметь десяток в кэше
это называется оптимизация производительности?
>> ЧЯДНТ?
> Очки розовые сними! Если есть кэш это ещё не значит, что его
> будут использовать. :DРечь о том, что Treads cached должен отображать кол-во потоков, которые сервер держит "в запасе", а не о том, что они используются или нет.
> Кстати, а ты уверен, что при одном работающем треде, иметь десяток в
> кэше
> это называется оптимизация производительности?Я думаю, что в моей конфигурации - этот кеш вообще бесполезен :-) Ибо 1 база, 2-10 одновременных запросов, кеширование потоков тут не надо вообще.
Просто из интереса хочу настроить это, дабы "пощупать" :-)
Вопрос снят. Проблема в MariaDB. Установил "чистый" MySQL - всё работает.
Но если кто-то знает, почему это не работает в MariaDB - подскажите.