LinuxForum.Fans
Тема

Ubuntu vs CentOS производительность PostgreSQL различается в 3 раза

Автор: tmr0 14 сообщений 8647 просмотров
#134832

При сравнении скорости работы связки 1C 8.1-15 + PostgeSQL 8.4.4 были обнаружены жуткие тормоза под ubuntu server 10.04 (под обеими версиями 32 и 64 бита).
При прохождении теста от Гилёва "TPC_1С_GILV" в Ubuntu в среднем было получено 11-13 баллов, в CentOS 5.5. x86 - 42 балла, для информации на Win2k3+MSSQL2005 46 баллов, а в Win2k3+PG8.4.4 33 балла, что обусловлено тестовой базой, которая не задействует управляемые блокировки.
Во всех тестах использовались идентичные настройки PG с отключенным fsync. Сравнение проходило на одном железе, в обеих системах было создано разбиение по умолчанию в Ubuntu проверялись ext4, ext3, ext2; в CentOS LVM+ext3, ext2, ext3 во всех случаях у каждого дистрибутива разница в пределах 10%
Если не брать во внимание результаты теста то разница заметна на глаз, так же привлекло внимание то, что под Ubuntu жесткий диск моргает лампой так как будто отложенная запись выключена (лампа бледно горит), в CentOS же лампочка изредка помаргивает, очевидно записывая бОльшие порции данных.
Выполнение инструкции http://blog.smartlogicsolutions.com/2009/06/04/mount-options-to-improve-ext4-file-system-performance/ в Ubuntu ситуацию не изменило. Есть ли другие варианты улучшения производительности в Ubuntu?
PS: на всех дистрибутивах ничего не ставилось кроме PG и 1C. На Ubuntu проверялись несколько версий PG, от Etersoft, и собранная вручную с патчами от 1С, под CentOS использовалась версия Etersoft.
PSS: спасибо что дочитали до конца

#134859
tmr0 написал:
CentOS же лампочка изредка помаргивает, очевидно записывая бОльшие порции данных.

это называется планировщик ядра.

#134925
Writer написал:
это называется планировщик ядра.

В обеих системах используется CFQ с одинаковыми параметрами. Попробовал в Ubuntu поменять на Deadline - поведение лампочки диска и результат теста не изменились.

#135225

Вы посмотрите нагрузку на диски, зачем на лампочку смотреть? smile . Используйте iostat/iotop/dstat и т.д. по вкусу.

#135237

И что это означает? Что Ubuntu хуже CentOS, или что в CentOS лампочка не моргала?

#135246

Да, есть что-то такое в Ubuntu, что делает ее заметно тормознутее.

Про Ваш конкретный случай мне сказать нечего, я могу только за себя говорить. Когда я ставлю на комп диск с Ubuntu 10.10 и диск с Debian 6.0, та разница ощутима и без измерительных приборов. Я не занимался исследованием проблемы. Я просто заметил, что Ubuntu требует для своей работы значительно больше памяти.

Захват памяти в бо'льшем количестве-- это косвенный признак того, что в Ubuntu работает больше процессов. Процессы требуют процессорного времени...

Конечно, можно от Ubuntu отпиливать процесс за процессом, и тогда получится (условно) Debian. А можно на Debian навешивать мишуру и елочные гирлянды, тогда получится... В общем, понятно, да? Я не знаю, я бы не позиционировал Ubuntu на роль сервера, тем более SQL сервера для 1С, и не заморачивался бы с этими проблемами. Ubuntu -- неплохой дистрибутив, но его назначение все-таки -- дескоп, клиентские машинешки, а не серваки. Хотя есть wikipedia, сервера которой работают как раз на Ubuntu :(

#135268

Обнаружил что если на том же железе запускать тестируемые системы под VMware (хост система Win 7), то тесты показывают почти одинаковые результаты. Все таки предполагаю что дело в кэше/упреждающем чтении/отложенной записи.

Небольшое уточнение: везде где говорится Ubuntu, подразумевается Ubuntu Server, Везде где говорится CentOS, подразумевается базовая установка (без отметки каких-либо пунктов при инсталяции)

Macumazan написал:
Вы посмотрите нагрузку на диски, зачем на лампочку смотреть? smile . Используйте iostat/iotop/dstat и т.д. по вкусу.

лампочка - это то что первым бросилось в глаза, а вообще по iotop видно что частое моргание(почти свечение) это запись

2 zhevak: во время тестов убунта стартует гораздо быстрее цента, и у нее список подгружаемых демонов намного меньше

#135280

установил Debian 6.0 x64 и прогнал тест, на удивление результат оказался идентичен CentOS

#135286

Убунту не использует больше памяти, а резервирует её. Если вы смотрите график использованной памяти, то он будет включать и резервированную память. Реальное использование всегда меньше.

#135629

скажу вам как дба.... на сервере бд должна работать только СУБД.... все лишнее фтопку .... к тому же я сомневаюсь что конфиги ядра ubuntu и cent идентичные... если есть желание сравните.... возможно там и найдете причину сего... а вообще в грамотно настроенной СУБД обращение к диску стараются свести к минимуму...

#135688
odin написал:
скажу вам как дба.... на сервере бд должна работать только СУБД.... все лишнее фтопку .... к тому же я сомневаюсь что конфиги ядра ubuntu и cent идентичные... если есть желание сравните.... возможно там и найдете причину сего... а вообще в грамотно настроенной СУБД обращение к диску стараются свести к минимуму...

Сервер 1С нагружает процессор, сервер PG нагружает память и диск, вместе они вполне уживаются, да и разносить их нет возможности.
Идентичны настройки на тестовых платформах только у PG и CFQ, то что есть куча других настроек характерных для конкретного ядра/сборки это само собой, так вот меня и интересует что и где покрутить в Ubunte что бы приблизить результат к Debian и CentOS, так как уже имеется рабочий сервер на Ubunte и крайне не хочется все переустанавливать.

#135906

Начать с пересборки ядра. Отключив всё лишнее идобавив самое вкусное. И главное, при обновлении его потом не затереть.

#135972

tmr0, последуйте совету Vadimsky. от ядра во многом зависит производительность .... + посмотрите вот это... с установками по умолчанию работать можно разве что мелочью какой....

#135993

odin написал:
tmr0, ... посмотрите вот это...
это я уже знаю наизусть :) у меня настройки постри не умолчальные, а оптимизированные под конкретную базу. Умолчальные настройки у CFQ, но они оказались идентичны для проверяемых мной дистрибутивов.

Буду пробовать пересобрать ядро, благо документации полно. Спасибо за советы.
Войдите или зарегистрируйтесь, чтобы ответить.