2.6.1.4 Примечания к Linux Alpha
2.6.1.4 Примечания к Linux Alpha
MySQL версии 3.23.12 - первая версия MySQL, протестированная на Linux-Alpha. Поэтому если вы собираетесь использовать MySQL на Linux-Alpha, следует прежде всего убедиться, что вы используете либо эту версию, либо более свежую.
Мы тестировали MySQL на Alpha при помощи наших тестов на производительность и все работает превосходно.
При компиляции стандартных бинарных файлов MySQL мы использовали SuSE 7.0 для AXP с ядром 2.4.4-SMP, компилятор Compaq C (6.2-505) и компилятор Compaq C++ (6.3-006) на компьютере Compaq DS20 с процессором Alpha EV6.
Вышеупомянутый компилятор можно найти на http://www.support.compaq.com/alpha-tools/. Использование этого компилятора вместо gcc привело к улучшению производительности MySQL на 9-14%.
Отметим, что до версии MySQL 3.23.52 и 4.0.2 мы оптимизировали исполняемые файлы только для единственной модели процессора (используя опцию компиляции -fast); это означало что вы можете использовать наши двоичные файлы только если у вас процессор Alpha EV6.
Для всех следующих версий мы добавили флаг -arch generic к нашим опциям компиляции, что позволяет работать бинарному файлу на всех процессорах Alpha. Мы также собираем MySQL статически - во избежание проблем.
CC=ccc CFLAGS="-fast -arch generic" CXX=cxx \ CXXFLAGS="-fast -arch generic -noexceptions -nortti" \ ./configure --prefix=/usr/local/mysql --disable-shared \ --with-extra-charsets=complex --enable-thread-safe-client \ --with-mysqld-ldflags=-non_shared --with-client-ldflags=-non_shared
Если вы хотите использовать egcs, то у нас применялась следующая командная строка конфигурирования:
CFLAGS="-O3 -fomit-frame-pointer" CXX=gcc \ CXXFLAGS="-O3 -fomit-frame-pointer -felide-constructors \ -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql \ --disable-shared
Некоторые известные проблемы при запуске MySQL на Linux-Alpha:
- отладка потоковых приложений, подобных MySQL, не работает с gdb 4.18. Вместо него необходимо установить и использовать gdb 5.1!
- при попытке статического линкования mysqld с использованием gcc результирующий файл при попытке запуска сбрасывает образ памяти на диск (core dump) и умирает. Иными словами, не следует использовать с gcc опцию --with-mysqld-ldflags=-all-static.