У нас есть приложение Python, которое опрашивает каталоги, используя потоки и
уведомлять наблюдателей. Мы всегда запускаем это приложение в облаке
сервер предоставлен Voxel (http://www.voxel.net). Мы в настоящее время
тестирование другого поставщика облачного сервера StormOnDemand
(http://stormondemand.com) и когда мы запустили наше приложение, наша загрузка
средние были намного выше, чем когда они бегали
облачный сервер Voxel, несмотря на то, что спецификации примерно одинаковы (см.
ниже для более подробной информации о настройке). Мы также обеспечили тогда, когда
тестирование сервера не обрабатывало другие нагрузки.
Я написал простое тестовое приложение (test_threads.py - прилагается,
или обратитесь к http://pastebin.com/xGQU7JD0), который имитирует проблемы, которые мы
видят, запуская темы, которые зацикливаются, спят для пользователя
определенное время на каждом цикле. Требуется 2 параметра, количество
потоки для запуска и интервал периода.
Когда я запускаю "python test_threads.py 50 0,1" в течение примерно 10 минут
Результаты средней нагрузки:
StormOnDemand:
$ uptime
18:46:22 до 7:29, 6 пользователей, средняя загрузка: 4,43, 4,16, 2,93
Воксельный
$ uptime
18:48:14 до 9 дней, 15:09, 9 пользователей, средняя загрузка: 0,51, 0,47, 0,43
Средняя нагрузка на сервер StormOnDemand намного выше.
Версия Python:
StormOnDemand - 2.6.5
Воксел - 2,6,5
Спецификация сервера:
StormOnDemand - 8 х Intel (R) Xeon (R) CPU E5506 @ 2,13 ГГц; 16 ГБ ОЗУ;
230 ГБ HDD (серверы Storm Bare Metal)
Voxel - 7 х Intel (R) Xeon (R) CPU L5640 @ 2,27 ГГц; 14 ГБ ОЗУ; 200 ГБ HDD
(Серверы VoxCloud)
OS:
StormOnDemand - Ubuntu 10.04 - 2.6.36-rc8101910 # 1 SMP вт 19 октября
19:18:34 UTC 2010 x86_64 GNU / Linux
Voxel - Ubuntu 10.04 - 2.6.32-31-сервер # 61-Ubuntu SMP пт 8 апреля
19:44:42 UTC 2011 x86_64 GNU / Linux
Метод виртуализации:
StormOnDemand - Не уверен на 100%, но я думаю, что они используют Xen
Voxel - Не уверен, но изображение, которое мы используем, выглядит для нас как
стандартный стандартный сервер Ubuntu 10.04
Любое предложение о том, почему нагрузка будет намного выше или как я мог
отладка это очень ценится.