Memcache не сможет волшебным образом сделать ваш сайт быстрее.Абсолютно первое, что вам нужно сделать, это выяснить, что стоит дорого.Простой способ сделать это - украсить ваши представления или другие функции, чтобы увидеть, как долго они обычно выполняются, например:
def print_latency(f):
def wrapped(*args, **kwargs):
try:
start = time.time()
r = f(*args, **kwargs)
finally:
print >>sys.stderr, 'Latency (%s): %.3fs' % (f.__name__, time.time() - start)
return r
wrapped.__name__ = f.__name__
return wrapped
@print_latency
def my_view(request):
...
Следующее, что нужно сделать, это выяснить, какие ресурсы кешируются, т.е.какие данные не меняются или не вызывают ужасных ощущений, если это так?Тогда начните сверху.Можете ли вы кешировать шаблоны?Если нет, можете ли вы кешировать мнения?Если нет, можете ли вы кешировать вызовы базы данных?Последнее, вероятно, где вы будете в конечном итоге, если у вас нет супер-простой веб-сайт.
Тогда вам нужно проверить, хорошо ли кешируются ваши звонки в БД.Возможно, вам придется разбить сложные запросы на более простые.
Кэширование не волшебно и не идеально.У вас может быть хуже задержка с кэшированием, но лучше пропускная способность.Или в среднем задержка может быть лучше, но худшие задержки могут быть ужасными.