Я тестировал свой рабочий сервер (он находится в бета-версии), и результаты были, по меньшей мере, неудовлетворительными.На страницах без динамического содержимого 1000 запросов с параллелизмом 1 вернули 73 запроса / сек.
Когда я начинаю добавлять запросы MYSQL к уравнению, все быстро выходит из-под контроля.Те же 1000 запросов на моей домашней странице дают следующие результаты:
Пики процессора до 50% Пики нагрузки до 3,7 (хотя это не всегда происходит)
complete request:1000
failed requests:0
write errors:0
requests/sec: 2.44
transfer rate: 113.26[Kbytes/sec]
90% of requests are served within 142ms.
95% of requests are served within 3531ms (it just keeps getting worse after that).
Взгляд сверхупока я запускаю тест
mysqld runs as a process is consuming roughly 7% of memory and 2.5% cpu
Apache seems to spawn 7 concurrent processes at times
At other points, Apache does not show up in Top
, я запускаю предварительно разветвленный Apache на экземпляре Micro AWS (ubuntu) и обновляюсь до более высокого экземпляра, но я боюсь, что здесь есть основная проблемакод или моя настройка Apache.
Я развертываю Django с Mod_WSGI, и я установил KeepAliveTimeout на 3, на случай, если пара медленных процессов облажали меня.
Мой код для домашней страницы, по-видимому, прост и хотя требует присоединений.
def index(request):
posts=Post.objects.filter(photo__isnull=False).order_by('date').distinct()[0:7]
ohouses=Open_House.objects.filter(post__photo__isnull=False).order_by('day').distinct()[0:4]
return render_to_response("index.html", {'posts':posts,'ohouses':ohouses},context_instance=RequestContext(request))
Я оставил конфигурацию по умолчанию для MYSQL.
Может ли все это быть связано с запуском микроэкземпляра?Может ли мой экземпляр быть несколько поврежден?Любые другие правдоподобные объяснения?