Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблемы с производительностью на 64-битной системе
 
 автор: Саня   (26.11.2010 в 10:43)   письмо автору
 
 

Использую Amazon EC2 на одном проекте. Есть три сервера:
1. small - 1.7 ГБ ОЗУ, 1 ядро процессора
2. medium - 1.7 ГБ ОЗУ, 2 ядра
3. large - 7.5 ГБ ОЗУ, 2 ядра

Процессор везде одинаковый — Xeon 2.6 ГГц.
Все остальные параметры неважны, так как облако.

На всех трёх установлено одно и то же ПО с одинаковыми настройками.
Centos 5, стандартная связка Apache 2, PHP 5.2, Mysql 5. Разница только в том, что на large ОС x86-64 (чтобы покрыть такое количество памяти).

Тестирую главную страницу сайта утилитой ab и получаются странные результаты (количество запросов в секунду):
small: 7.51
medium: 29.78
large: 26.85

Тестирование других страниц с разными параметрами ab, с apc и без, прочими твиками выдаёт схожую динамику — large показывает цифру ниже, чем medium.

Безуспешно пытаюсь понять из-за чего такие результаты. Единственное предположение — раз 64 бита, значит машинное слово в два раза больше и все сервисы занимают больше памяти, которой ворочать труднее.

  Ответить  
 
 автор: sim5   (26.11.2010 в 10:59)   письмо автору
 
   для: Саня   (26.11.2010 в 10:43)
 

А сами приложения 32-х разрядные?

  Ответить  
 
 автор: Саня   (26.11.2010 в 11:10)   письмо автору
 
   для: sim5   (26.11.2010 в 10:59)
 

Из 637 установленных пакетов только 159 не x86-64. Apache, php и mysql точно 64-битные.

  Ответить  
 
 автор: sim5   (26.11.2010 в 11:29)   письмо автору
 
   для: Саня   (26.11.2010 в 11:10)
 

Ну тогда "раз 64 бита, значит машинное слово в два раза больше и все сервисы занимают больше памяти" не должно быть верным, ибо размер таковых данных может быть и меньше по сравнению для 32-х разрадных. Например, для 32-х загрузка операндов может потребовать два цикла обращения к памяти, а для 64 все будет уже помещено в инструкцию. Да и выборка ее идет ведь не по 32 разряда, а по 64. По логике вещей получается несостыковка.

Возможно ситуация такая, что 64 разряда вынуждены перемолачивать 32, от чего производительности конечно же не добавится. Например, знаю точно, что первые 64-разрядные процессоры от AMD более производительно обрабатывали 32-разрядный код, чем Intel, у которых наблюдались большие потери при обработке такого кода.

  Ответить  
 
 автор: Саня   (26.11.2010 в 13:48)   письмо автору
 
   для: Саня   (26.11.2010 в 10:43)
 

Всё оказалось до банальности просто.

У амазона куча серверов с разными процессорами и невозможно угадать на какой именно "попадёт" запущенный инстанс. Поэтому они ввели такое абстрактное понятие как EC2 Compute Unit. Medium серверу выделено 5 EC2CU, large - 4 EC2CU. Грубо говоря, процессора и medium оказалось больше, чем у large и это сыграло на результатах замера производительности.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования