Программирование >>  Создание клиентов mysql 

1 ... 151 152 153 [ 154 ] 155 156 157 ... 201


[mysqld]

set-variable

set-variable

set-variable

set-variable

set-variable

set-variable

set-variable

set-variable

log-bin

server-id

tmpdir

key buffer=384M max allowed packet=lM

table cache=512

sort buf fer=2M record buf fer=2M

thread cache size=8 thread concurrencY= 8 myisam sort buf fer size=64M

= /disk2/tmp/

# Таблицы BDB

set-variable = bdb caclie size=384M set-variable = bdb max lock=100000

# Таблицы InnoDB innodb data home dir = /diskS/ innodb log group home dir = /disk4/ innodb log arch dir = /disk4/

innodb data file path = ibdatal:250M;ibdata2:500M;ibdata3:lOOOM

set-variable = innodb rairrored log groups==l

set-variable = innodb log f iles in group=3

set-variable = innodb log file size=5M

set-variable = innodb log buf f er size=8M

i nnodb f1ush log at t rx c orami t=1

innodb log archive=0

set-variable = innodb buf fer pool size=16M set-variable = innodb additional mem pool size=2M set-variable = innodb f ile io threads=4 set-variable = innodb lock wait timeout=50

Когда сервер проработает какое-то время, выполните инструкцию SHOW STATUS, чтобы узнать его производительность. Сравните значения показателей Key reads и Key read requests. Их соотношение будет очень низким, если программа MySQL часто пользуется индексным буфером. В случае необходимости попытайтесь повысить размер буфера.

Проследите изменение показателя Open tables, сравнивая его созначением серверной переменной table cache, которое можно узнать с помощью инструкции SHOW VARIABLES. Когда табличный буфер заполняется, программа MySQL вынуждена закрывать одни таблицы, чтобы открывать другие. Показатель Opened tables отражает число таблиц, открывавшихся с момента запуска сервера. Сравните его с общим числом запросов (показатель Questions). Чем больше будет размер табличного буфера, тем реже придется открывать и закрывать таблицы.

Серверная переменная thread cache size задает размер кэша потоков. Как правило, на каждый процессордолжно приходиться два потока. Сравните показатели Threads created и Connections, чтобы определить, как часто серверу приходилось повторно использовать потоки.



Перекомпиляция MySQL 477

Просмотрите еще раз список переменных демона приведенный в гла-

ве 14, Утилиты командной строки . Есть много разных буферов и кэшей, увеличение размера которых способно повысить производительность сервера. После изменения конфигурации обязательно проведите повторные замеры.

Перекомпиляция MySQL

Команда разработчиков MySQL прилагает огромные усилия для оптимизации исполняемых файлов программы. Лучше всего пользоваться бинарными дистрибутивами, которые доступны на MySQL. Вряд ли вам удастся получить более качествен-

ный исполняемый файл. Например, в дистрибутивы Linux зачастую включаются нестабильные версии компиляторов и библиотек. Разработчики MySQL всегда применяют самые стабильные версии в сочетании с оптимальными опциями компиляции.

Необходимость в компиляции возникает, когда для данной платформы невозможно найти скомпилированную версию программы, хотя эта ситуация маловероятна. Еще одна желание поэкспериментировать с различными библиотеками.

Но подобными экспериментами не стоит слишком увлекаться, так как в результате можно получить нестабильно работающий исполняемый файл.

На Web-узле MySQL приведена информация о том, как компилировать программу на различных платформах. Не поленитесь просмотреть рекомендации специалистов, поскольку здесь есть много подводных камней , особенно в случае старых операционных систем.

Перед началом компиляции убедитесь в наличии утилиз ip tar. Они необходимы для извлечения файлов из tar-архива. Учтите, что версия утилиты tar для Solaris содержит ошибку, которая не позволяет распаковывать некоторые архивы, поэтому желательно иметь утилиты.

Нужен также компилятор языка С++. Вполне подойдет какая-нибудь GNU-версия, включая egcs. Не забудьте и об утилите make.

Те, кто имеют опыт компиляции программ с открытыми кодами, должны быть знакомы со сценариями конфигурации, создаваемыми утилитой conf. Саму ее запускать не нужно. Файл Makefile создается сценарием configure. В листинге 26.11 показан вызов этого сценария с установками, которые рекомендованы разработчиками MySQL. Сценарий configure должен запускаться из каталога, содержащего исходные коды программы.

CFLAGS= -03 \

CXX=gcc \

CXXFLAGS= -03 -felide-constructors -fno-exceptions -fno-rtti \

./configure -prefix=/usr/local/mysql \

-enable-assembler \

-with-mysqld-ldflags=-all-static

В табл. 26.1 перечислены параметры сценарии igure. Аналогичную информацию можно получить, вызвав сценарий с опцией -help. Если нужно включить поддержку таблиц Berkeley DB или InnoDB, не забудьте указать соответствующие оп-



ции. В исходные дистрибутивы MySQL входят все необходимые для этого файлы, поэтому путь к библиотекам Berkeley DB задается только в том случае, когда требуется использовать их альтернативные версии.

Общая конфигурация

-сасЬе-£11е=файл

-help

-no-create

-quiet, -silent

-version

Имена файлов и каталогов -pref 1х=27рефикс

-exec-pref1х=префикс1

-bindir=R:a талог-

-sbindir=Ka!raor

-libexecdir=Kaталог

-datadir=кaтaлoг

-sysconfdir=кaтaлop

Кэшировать результат файле

Вывести список опций

He создавать выходные файлы

He отображать сообщения checking...

Отобразить номер версии утилиты autoconf, которая создала данный сценарий

Помещать архитектурно-независимые файлы в каталог префикс (по умолчанию -/usr/local)

Помещать архитектурн о-зависимые файлы в каталог (по умолча-

нию - префикс)

Помещать пользовательские исполняемые файлы в каталог (по умолчанию uKcl/bin)

Помещать административные исполняемые файлы в каталог (по умолчанию - префикс l/sbn)

Помещать исполняемые файлы программ в каталог (по умолчанию префикс!/1 ibexec)

Помещать архитектурно-независимые данные, доступные только для чтения, в каталог (по умолчанию - префикс/ share)

Помещать системные данные, доступные только для чтения, в (по умолчанию - префикс/ etc)



1 ... 151 152 153 [ 154 ] 155 156 157 ... 201

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика