Настройка сервера (под базу 2Гб)

Администирование клиентской и серверной части InterBase, Firebird, Yaffil. Настройка файла конфигурации и т.п.

Модераторы: kdv, Alexey Kovyazin

Ответить
policai
Сообщения: 11
Зарегистрирован: 19 апр 2008, 00:44

Настройка сервера (под базу 2Гб)

Сообщение policai » 22 сен 2008, 12:19

Здравствуйте!

CPU: Quad Core Intel(R) Xeon(R) CPU E5335 @ 2.00GHz stepping 0b
Дисковая подсистема: RAID5
Есть: Linux CentOS 5 2.6.18-92.1.10.el5 #1 SMP Tue Aug 5 07:42:41 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux
FirebirdCS-2.0.4.13130-1

К базе постоянно подключены 10-15 клиентов (Windows XPSP2 & Win2003 Terminal Server)
И web-сервер (до 20000 (20 тысяч) запросов в сутки. 99% этих запросов - чтение из трех таблиц)

У постоянно подключенных проблем не наблюдается, а вот у веб-клиентов периодически крепкие тормоза с коннектом

Посоветуйте в какую сторону копать

firebird.conf

Код: Выделить всё

LockMemSize = 524288
LockHashSlots = 1021
CpuAffinityMask = 15
xinetd.conf

Код: Выделить всё

service gds_db
{
        disable = no
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = firebird
# These lines cause problems with Windows XP SP2 clients
# using default firewall configuration (SF#1065511)
#       log_on_success  += USERID
#       log_on_failure  += USERID
        server          = /opt/firebird/bin/fb_inet_server
        instances       = 50
        per_source      = 50
}

База: 2Gb

Код: Выделить всё

Database header page information:
        Flags                   0
        Checksum                12345
        Generation              212802
        Page size               4096
        ODS version             11.0
        Oldest transaction      12908
        Oldest active           207240
        Oldest snapshot         204070
        Next transaction        212795
        Bumped transaction      1
        Sequence number         0
        Next attachment ID      0
        Implementation ID       19
        Shadow count            0
        Page buffers            0
        Next header page        0
        Database dialect        1
        Creation date           Sep 17, 2008 21:21:38
        Attributes              force write, multi-user maintenance

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Re: Настройка сервера (под базу 2Гб)

Сообщение WildSery » 22 сен 2008, 12:56

policai писал(а):Здравствуйте!
Привет.
policai писал(а):CPU: Quad Core Intel(R) Xeon(R) CPU E5335 @ 2.00GHz stepping 0b
Дисковая подсистема: RAID5
Памяти-то сколько оперативной?
policai писал(а):LockMemSize = 524288
LockHashSlots = 1021
Возникали какие-то проблемы, или так, "шоб було"?
policai писал(а):CpuAffinityMask = 15
Такая цифирь есть бред для SS, а CS её вообще игнорирует :) Привязать можно только SS, и только к 1 (одному) процессору.
policai писал(а):База: 2Gb

Код: Выделить всё

Database header page information:
        Page size               4096
        ODS version             11.0
        Oldest transaction      12908
        Oldest active           207240
        Oldest snapshot         204070
        Next transaction        212795
        Database dialect        1
        Attributes              force write, multi-user maintenance
Размер страницы можно было уже и больше делать, скажем, 8К.
В транзакциях застой какой-то. Управляешь плохо, или вообще доверил это дело компонентам?
Хотя, может, приложение и не твоё...
policai писал(а):У постоянно подключенных проблем не наблюдается, а вот у веб-клиентов периодически крепкие тормоза с коннектом
В чём заключаются тормоза, уточни. Да и собственно, термин "веб-клиенты" тоже, в твоём контексте.
Как именно присоединяются к БД, в каком месте тормоза и как это видно, тормозят ли при этом "постоянные" коннекты?

policai
Сообщения: 11
Зарегистрирован: 19 апр 2008, 00:44

Re: Настройка сервера (под базу 2Гб)

Сообщение policai » 22 сен 2008, 14:29

WildSery писал(а):Памяти-то сколько оперативной?
4Gb
WildSery писал(а): policai писал(а):LockMemSize = 524288
LockHashSlots = 1021

Возникали какие-то проблемы, или так, "шоб було"?
проблем небыло
WildSery писал(а): policai писал(а):CpuAffinityMask = 15

Такая цифирь есть бред для SS, а CS её вообще игнорирует :) Привязать можно только SS, и только к 1 (одному) процессору.
# In an SMP system, sets which processors can be used by the server.
# The value is taken from a bit map in which each bit represents a CPU.
# Thus, to use only the first processor, the value is 1. To use both
# CPU 1 and CPU 2, the value is 3. To use CPU 2 and CPU 3, the value
# is 6. The default value is 1.
соответственно для четырех процессоров 0b1111=15 :) но я уже понял, что для CS это никчему
WildSery писал(а):Размер страницы можно было уже и больше делать, скажем, 8К.
В транзакциях застой какой-то. Управляешь плохо, или вообще доверил это дело компонентам?
Хотя, может, приложение и не твоё...
страницу увеличу. Приложение мое, но старое.
WildSery писал(а):В чём заключаются тормоза, уточни. Да и собственно, термин "веб-клиенты" тоже, в твоём контексте.
Как именно присоединяются к БД, в каком месте тормоза и как это видно, тормозят ли при этом "постоянные" коннекты?
клиенты apache+php.
запросы выполняются таким образом

Код: Выделить всё

 
<?
$ibdb=ibase_connect ($dbname,'sysdba','masterkey','WIN1251',0,'1')
$stmt="select * from BBS order by MSG_TEXT";
 $sth = ibase_query ($ibdb, $stmt,$rk);
 while ($row = ibase_fetch_object ($sth)) {
    echo "<li>$row->MSG_TEXT<br>";
 }
?>
имеет ли смысл поставить SS ?

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Re: Настройка сервера (под базу 2Гб)

Сообщение WildSery » 22 сен 2008, 16:33

policai писал(а):соответственно для четырех процессоров 0b1111=15 :) но я уже понял, что для CS это никчему
Всё дело в том, что в 2.0.4 ещё практически никакой SMP нет.
Потому аффинити может привязывать только к одному процу на выбор. И нужно это всего лишь для того, чтобы система не пыталась перебрасывать процесс SS с проца на проц - только тормоза будут.
policai писал(а):клиенты apache+php.
запросы выполняются таким образом
Собственно, это только на один вопрос ответ :) А остальные?
И ещё неплохо бы в моменты "тормозов" поглядеть загрузку процессоров и винтов. Процессоры в топе видны, как винты поглядеть не знаю - наш админ чего-то смотрел.
policai писал(а):имеет ли смысл поставить SS ?
Может быть. От типа нагрузки зависит - как именно с БД работаешь. Но все 4 проца сразу задействовать может только CS ;)

Я в apache+php не в зуб ногой, такой архитектуры не строил. Если народ подтянется - чего-нибудь присоветует. Или скажет чего почитать на эту тему.
Памяти ИМХО маловато. 2 Гб кэш страничный, ещё память под клиентов подключенных, ещё на сортировку чего-то надо, вот и всё. Она сейчас дешёвая, ставь хотя бы 8Гб.

policai
Сообщения: 11
Зарегистрирован: 19 апр 2008, 00:44

Re: Настройка сервера (под базу 2Гб)

Сообщение policai » 22 сен 2008, 19:59

WildSery писал(а):Памяти ИМХО маловато. 2 Гб кэш страничный, ещё память под клиентов подключенных, ещё на сортировку чего-то надо, вот и всё. Она сейчас дешёвая, ставь хотя бы 8Гб.
своп чистый так что памяти вроде достаточно

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Re: Настройка сервера (под базу 2Гб)

Сообщение WildSery » 22 сен 2008, 20:25

При чём тут своп? Файловый кеш ОС в своп не попадает. Посмотри сколько памяти используется. Я думаю, что вся под завязку.

Attid
Спец
Сообщения: 377
Зарегистрирован: 14 ноя 2006, 09:58

Re: Настройка сервера (под базу 2Гб)

Сообщение Attid » 23 сен 2008, 10:03

Я в apache+php не в зуб ногой, такой архитектуры не строил. Если народ подтянется - чего-нибудь присоветует.
я использую на убунте, без проблем второй год, все летает из коробки ничего не делал. первый год был супер, сейчас классик.

единственно что в убунте пхп из пакетом по зависимостям ставится с libfbclient 1 версии, ну а так как сервер птицы 2,04 это не кузяво, но легким движением руки это исправляется.


а народ кто большие нагрузки держит на пхп+птиц, тут вроде не тусуется, в конфе есть люди.

Ivan_Pisarevsky
Заслуженный разработчик
Сообщения: 644
Зарегистрирован: 15 фев 2005, 11:34

Re: Настройка сервера (под базу 2Гб)

Сообщение Ivan_Pisarevsky » 25 сен 2008, 16:42

Расшифруй термин "периодически крепкие тормоза с коннектом".
долго коннектится? мабыть до ФБ дело не доходит , а косячит например ДНС.
Долго отрабатывает первый запрос? Что там sysstat говорит насчет нагрузки на дисковую? как она вообще сконфигуририрована? контроллер аппаратный? батарейка/райтбэк включен?
Тормоза когда нагрузка пиковая или "просто так"?
Может у xinetd недостаточно разрешенных конектов на сервис файрберда и он ждет освобождения? по дефолту их таки довольно мало.
Что в логах системы и файрберда?

Ответить