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.
Вышеупомянутый компилятор можно найти на https://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
.