Документация MySQL

20.06.2007

Большинство из последующих тестов выполняются под Linux с использованием
тестов производительности MySQL, но они должны дать некоторое
представление и для других операционных систем и рабочих нагрузок.
.
. Чтобы скомпилировать
sql_yacc.cc
с этой опцией, требуется
около 200 Mб памяти, поскольку компилятор
забирает много памяти.
При конфигурировании MySQL следует также
установить
(в этом
нет необходимости). Следует учитывать, что при некоторых версиях
компилятора
результирующий код будет работать только на настоящих
процессорах Pentium, даже если использовать возможность компилятора
выдавать результирующий код, работоспособный на всех процессорах типа x586
(например AMD).
Используя просто лучший компилятор и/или лучшую опцию компилятора, можно
получить для приложения увеличение скорости на 10-30%. Это особенно важно,
если вы компилируете сервер SQL самостоятельно!
Мы протестировали такие компиляторы как Cygnus CodeFusion и Fujitsu, но ни
тот, ни другой не были достаточно свободны от ошибок, чтобы можно было
скомпилировать MySQL с оптимизирующими параметрами.
При компилировании MySQL необходимо включать только наборы кодировок,
которые вы собираетесь использовать (опция
).
Стандартная поставка MySQL скомпилирована с поддержкой всех кодировок.
Ниже приводится обзор некоторых действий, которые мы предпринимали для
ускорения работы:
на
1% быстрее, чем при
gcc 2.95.2
.
) результирующий
исполняемый файл сервера будет на 13% медленнее работать под
управлением Linux. Обратите внимание: вы спокойно можете использовать
динамическую библиотеку MySQL. Это касается только сервера и актуально
только там, где нужна высокая производительность.
можно получить прирост скорости результирующего двоичного кода до 4%.
При соединении с использованием протокола TCP/IP, а не сокетов Unix
работа будет на 7,5% медленнее на том же самом
компьютере (при подключении к
MySQL по умолчанию будет
использовать сокеты).
При соединении с использованием протокола TCP/IP с другим компьютером
по сети Ethernet с пропускной способностью 100Mбит/сек скорость будет
на 8-11% ниже.
При запуске наших тестов производительности с использованием
безопасных соединений (все данные зашифрованы с поддержкой
протокола SSL) скорость была на 55% ниже.
, то для
большинства запросов потери в производительности будут составлять до
20%, но некоторые запросы могут выполняться значительно дольше (тесты
производительности MySQL работают на 35% медленнее). При использовании
опции
теряется только 15% производительности. При запуске
mysqld, откомпилированного с
,
результат должен почти таким же, как и при компиляции с
.
На компьютере SPARCstation 20 фирмы Sun компилятор SunPro C++ 4.2
работает на 5% быстрее, чем компилятор
gcc 2.95.2
.
gcc 2.95.2
-mcpu=v8
-Wa,-xarch=v8plusa
дает прирост производительности на 4%.
Под операционной системой Solaris 2.5.1 потоки MIT-pthreads на 8-12%
медленнее, чем собственные потоки Solaris для единичного процессора.
При возрастании нагрузки на процессоры разница должна получиться
больше.
делает MySQL на 1% медленнее.
делает mysqld на 1-4% быстрее.
Поставка MySQL под Linux, которую предоставляет MySQL AB, обычно
компилировалась с
, но мы должны были вернуться к обычному компилятору
, которая могут генерировать код, не исполняемый на
AMD. Пока эти ошибки не будут устранены, мы будем продолжать использовать
, однако если ваш компьютер не относится к типу AMD, то можно получить
более быстрый двоичный код, компилируя его с
. Стандартный двоичный
код MySQL для Linux слинкован статически, чтобы сделать его более быстрым
и более переносимым.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Рубрики: Без рубрики |

Оставить комментарий

Заметьте: Включена проверка комментариев. Нет смысла повторно отправлять комментарий.