При сравнении скорости работы связки 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: спасибо что дочитали до конца
Ubuntu vs CentOS производительность PostgreSQL различается в 3 раза
CentOS же лампочка изредка помаргивает, очевидно записывая бОльшие порции данных.
это называется планировщик ядра.
это называется планировщик ядра.
В обеих системах используется CFQ с одинаковыми параметрами. Попробовал в Ubuntu поменять на Deadline - поведение лампочки диска и результат теста не изменились.
Вы посмотрите нагрузку на диски, зачем на лампочку смотреть? smile . Используйте iostat/iotop/dstat и т.д. по вкусу.
И что это означает? Что Ubuntu хуже CentOS, или что в CentOS лампочка не моргала?
Да, есть что-то такое в Ubuntu, что делает ее заметно тормознутее.
Про Ваш конкретный случай мне сказать нечего, я могу только за себя говорить. Когда я ставлю на комп диск с Ubuntu 10.10 и диск с Debian 6.0, та разница ощутима и без измерительных приборов. Я не занимался исследованием проблемы. Я просто заметил, что Ubuntu требует для своей работы значительно больше памяти.
Захват памяти в бо'льшем количестве-- это косвенный признак того, что в Ubuntu работает больше процессов. Процессы требуют процессорного времени...
Конечно, можно от Ubuntu отпиливать процесс за процессом, и тогда получится (условно) Debian. А можно на Debian навешивать мишуру и елочные гирлянды, тогда получится... В общем, понятно, да? Я не знаю, я бы не позиционировал Ubuntu на роль сервера, тем более SQL сервера для 1С, и не заморачивался бы с этими проблемами. Ubuntu -- неплохой дистрибутив, но его назначение все-таки -- дескоп, клиентские машинешки, а не серваки. Хотя есть wikipedia, сервера которой работают как раз на Ubuntu :(
Обнаружил что если на том же железе запускать тестируемые системы под VMware (хост система Win 7), то тесты показывают почти одинаковые результаты. Все таки предполагаю что дело в кэше/упреждающем чтении/отложенной записи.
Небольшое уточнение: везде где говорится Ubuntu, подразумевается Ubuntu Server, Везде где говорится CentOS, подразумевается базовая установка (без отметки каких-либо пунктов при инсталяции)
Вы посмотрите нагрузку на диски, зачем на лампочку смотреть? smile . Используйте iostat/iotop/dstat и т.д. по вкусу.
лампочка - это то что первым бросилось в глаза, а вообще по iotop видно что частое моргание(почти свечение) это запись
2 zhevak: во время тестов убунта стартует гораздо быстрее цента, и у нее список подгружаемых демонов намного меньше
установил Debian 6.0 x64 и прогнал тест, на удивление результат оказался идентичен CentOS
Убунту не использует больше памяти, а резервирует её. Если вы смотрите график использованной памяти, то он будет включать и резервированную память. Реальное использование всегда меньше.
скажу вам как дба.... на сервере бд должна работать только СУБД.... все лишнее фтопку .... к тому же я сомневаюсь что конфиги ядра ubuntu и cent идентичные... если есть желание сравните.... возможно там и найдете причину сего... а вообще в грамотно настроенной СУБД обращение к диску стараются свести к минимуму...
скажу вам как дба.... на сервере бд должна работать только СУБД.... все лишнее фтопку .... к тому же я сомневаюсь что конфиги ядра ubuntu и cent идентичные... если есть желание сравните.... возможно там и найдете причину сего... а вообще в грамотно настроенной СУБД обращение к диску стараются свести к минимуму...
Сервер 1С нагружает процессор, сервер PG нагружает память и диск, вместе они вполне уживаются, да и разносить их нет возможности.
Идентичны настройки на тестовых платформах только у PG и CFQ, то что есть куча других настроек характерных для конкретного ядра/сборки это само собой, так вот меня и интересует что и где покрутить в Ubunte что бы приблизить результат к Debian и CentOS, так как уже имеется рабочий сервер на Ubunte и крайне не хочется все переустанавливать.
Начать с пересборки ядра. Отключив всё лишнее идобавив самое вкусное. И главное, при обновлении его потом не затереть.
это я уже знаю наизусть :) у меня настройки постри не умолчальные, а оптимизированные под конкретную базу. Умолчальные настройки у CFQ, но они оказались идентичны для проверяемых мной дистрибутивов.tmr0, ... посмотрите вот это...
Буду пробовать пересобрать ядро, благо документации полно. Спасибо за советы.