Странные показатели производительности.

  • Автор темы Автор темы skyogre
  • Дата начала Дата начала

skyogre

Новичок
Странные показатели производительности.

Странная ситуация: у клиента на быстром сервере 4 x Xeon 2.8, 4Gb memory приложение работает медленнее, чем у меня на Celeron 2.4. В скрипте происходит ряд однотипных запросов к mysql с поиском по строке и обработка (в основном, упаковка/копирование данных в нужные мне структуры). Колонка по которой осуществляется выборка -- строка, сериализованный объект, довольно сложный (xmlrpcclient request). Индекса нет, т.к. создание индекса ухудшает производительность. Примерное время запроса к БД и обработки на быстром сервере составляет ~8 миллисекунд, у меня ~2 мс, примерно пополам на обращение к базе и обработку. Ни моя рабочая станция, ни клиентский сервер не нагружены.
 
если создание индексов уменьшает производительность, для чего они вообще тогда придуманы?
 
Для тех случаев когда поиск по индексу быстрее чем тупая переборка всех строк подряд. Таких случаев большинство в нашей жизни, но не в этот раз. :)
 
а конфигурация базы-то какая? скока куда отдано. скока памяти под процесс. ОС? и т.д.

нужен diff по my.cfg

если на 4-хголовой тачке под базу от дать 32М она будет тебе сутками простой запрос считать.
 
Linux, таблица MyISAM, настройки дефолтные.

У клиента виртуозный ВПС с FC2
php-4.3.11-1.fc2.2.legacy.1.swsoft
mysql-3.23.58-9

У меня железка с FC6.
php-5.1.6-3.6.fc6
MySQL: 4.1.21-max
kernel-2.6.18-1.2798.fc6

Для более справедливого сравнения посмотрел на тестерской ВПС:
RHEL4
php-4.3.9-3.1
MySQL-Max-4.1.18-0
Летает так же как и у меня на рабочей машине.

Overusage ресурсов ни на тестерской ни на клиентской ВПС не наблюдается.

-~{}~ 23.07.07 19:00:

Там проблема скорее всего не в базе данных, поскольку медленнее работают не только обращения к базе, но и ПХП-шная обработка данных.
 
ВПС -- Virtual Private Server, виртуальное окружение в виртуоззе.
FС2 -- федора 2

Насчёт mysql-3.23 вряд ли производительность настолько сильно поменялась от этой версии. И куда девать увеличенией времени выполнения обработки результатов запроса? Но за идею спасибо, попробую поставить 3.23 у нас и проверить.
 
как вариант, если клиент делит виртуальную машину с другими виртуалами - так ему просто может не хватать ресурсов если сосед жрет их, т.к. они же распределыяются между многими VM.

или у него 4-хголовый в персонально м пользовании?

или я опять не понял и у него прогсто виртуальный сервер?


я бы просто запустил какой-нить тест на производительность и посмотрел.
посчитал бы 1000000 сложений и померял время. тогда сразу будет понятно где т ормоз в скриптах или это клиента режут

-~{}~ 23.07.07 19:31:

Странная ситуация: у клиента на быстром сервере 4 x Xeon 2.8, 4Gb memory
это его личный спервер или все-таки он его делит?
 
1. Виртуализация сама по себе кушает ресурсы.
2. на ВПС обычно очень медленные файловые операции - кажется, что файловый кеш забивает самый активный клиент, и конечно же, головки винта не висят над сегментами с файлами твоей базы

Кроме процов есть еще и кеш, ввод-вывод, операции с памятью и шина PCI - одни на всех.
 
Сверху