Имеем тестовую базу данных вордпресса, забитую 3 миллионами постов, с генерированных скриптом, суммарно около 302 мегабайт. Тест производится запросом главной страницы вордпресса и замером времени ее отклика. Запуск осуществляется таким образом:
time wget http://test1.ru:80/
Далее, перед каждым тестом делается "подготовка" для очистки всех кэшей Линукса:
/etc/init.d/apache2 stop
/etc/init.d/failoverapache stop # наш спец апач
/etc/init.d/mysql stop
# запись грязных страниц на диск и сброс slab буферов и дискового кэша
sync
echo 3 > /proc/sys/vm/drop_caches
/etc/init.d/apache2 start
/etc/init.d/failoverapache start
/etc/init.d/mysql start
Итого, все кэши включены:
Первый запрос:
real 0m16.408s
user 0m0.002s
sys 0m0.009s
Повторно:
real 0m0.324s
user 0m0.001s
sys 0m0.008s
Крайне хороший результат, тут работают и страничный кэш Линукса и Query Cache MySQL.
Теперь, чтобы узнать, какую часть вносит кэш MySQL, а какую страничный кэш Линукса, перезапускаем MySQL для обнуления Query Cache и снова делаем запрос:
real 0m6.438s
user 0m0.002s
sys 0m0.010s
То есть Query Cache дает -6 секунд ко скорости работы :) А страничный же кэш дает аж -10секунд ко времени отработки повторного запроса.
No comments :
Post a Comment
Note: only a member of this blog may post a comment.