У меня есть веб-сайт, который обслуживают nginx и django.
My staging.py содержит настройки CACHE и промежуточного программного обеспечения правильно. Вы можете взглянуть на nginx.conf и файл nginx conf, связанный с сайтом . Я подтвердил, что memcached работает через ngrep -d any port 11211
.
Я включил кэширование для всего сайта и хотел посмотреть на производительность, выполнив ab -n 1000 -c 10 http://site.com
С отключенным кэшированием выключено , я получаю:
Concurrency Level: 10
Time taken for tests: 10.276 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 11695000 bytes
HTML transferred: 11559000 bytes
Requests per second: 97.32 [#/sec] (mean)
Time per request: 102.759 [ms] (mean)
Time per request: 10.276 [ms] (mean, across all concurrent requests)
Transfer rate: 1111.43 [Kbytes/sec] received
При включенном кэшировании я получаю:
Concurrency Level: 10
Time taken for tests: 12.277 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 11695000 bytes
HTML transferred: 11559000 bytes
Requests per second: 81.45 [#/sec] (mean)
Time per request: 122.771 [ms] (mean)
Time per request: 12.277 [ms] (mean, across all concurrent requests)
Transfer rate: 930.26 [Kbytes/sec] received
Мой сайт - это блог, который извлекает сообщения из базы данных - ничего экзотического.
Буду признателен, если кто-нибудь скажет мне, почему сайт на самом деле тормозит с memcached. Вы можете видеть, что «Количество запросов в секунду» фактически падает, когда я использую memcached!
Тем не менее, запуск memcached-top дал мне нет обращений , когда я запустил ab (хотя во время теста счетчики чтения и записи повысились). У меня есть доступная память , а memcached - не перегружен вверх по памяти.
EDIT
Я побежал memcached -vv
и получил некоторые результаты . Вы можете видеть, что memcached распечатывает «STORED» в первый раз, а затем, кажется, не отправляет его из кэша (не уверен в этом). Теперь я еще больше запутался. Возможно, memcached и интерфейс django работают, но в итоге лучше не запускать memcached?