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
.