Возможно вы искали: 'Horses 3D'

May 15 2025 23:46:52
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96161170
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18360
• Обзор The Walking ... 18804
• Обзор DMC: Devil M... 19880
• Обзор на игру Valk... 15878
• Обзор на игру Stars! 17765
• Обзор на Far Cry 3 17950
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17510
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16620
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14723
• Превью Firefall 13481
• Превью Dead Space 3 16335
• Превью о игре SimC... 14732
• Превью к игре Fuse 15443
• Превью Red Orche... 15542
• Превью Gothic 3 16347
• Превью Black & W... 17355
Главная » Статьи » Разное » Установка Apache+PHP+Mysql под FreeBSD и тюнинг FreeBSD 4.7 (freebsd apache php mysql install tune optimization postgresql smp cpu)

Установка Apache+PHP+Mysql под FreeBSD и тюнинг FreeBSD 4.7 (freebsd apache php mysql install tune optimization postgresql smp cpu)

Ключевые слова: freebsd, apache, php, mysql, install, tune, optimization, postgresql, smp, cpu, (найти похожие документы)

From: Drezulia Dmitri <dda@unicor.ru>
Date: Mon, 14 Jan 2003 13:01:37 +0000 (UTC)
Subject: Установка Apache+PHP+Mysql под FreeBSD и тюнинг FreeBSD 4.7


Сервер имеет следующую конфигурацию:

CPU: 2xPIII 1133 Mhz 512k кэш
RAM: 2x512 DIMM ECC
HDD: Seagate Barracuda IV 7200 rpm 40 Gb
MB: Intel Server Board SAI2 ServerWorks ServerSet III LE chipset+LAN 100Mbit(Intel 82559)+Video

Сервер будет поддерживать несколько виртуальных хостов, сайты написанына PHP 4.0 и
обращаются к базе данных mysql и pgsql. Также будет поддерживаться протокол https.

Устанавливаем FreeBSD в минимальной конфигурации с разделом swap в 2 Gb.

Для того чтоб сравнить выигрыш в производительности от тюнинга FreeBSD
перекомпиляцию ядра и тюнинг FreeBSD буду производить после установки и
тестирования на производительность веб сервера и самой системы.

Для установки требуются следующие пакеты:

На момент написания статьи Apache 1.3.27 была последней версией.

Apache 1.3.27
http://www.apache.org
пакет apache_1.3.27.tar.gz
ftp://apache.secsup.org/pub/apache/dist/httpd

Поддержка протокола шифрования необходима для интерфейса управления контентом
наших сайтов.

Mod_ssl
http://www.modssl.org
пакет mod_ssl-2.8.12-1.3.27.tar.gz
ftp://ftp.cronyx.ru/pub/mirror/modssl/source


openssl
http://www.openssl.org
пакет openssl-engine-0.9.6b.tar.gz
ftp://ftp.cronyx.ru/pub/mirror/modssl/

Перл не был нужен нам для работы но перл является распространенным языком для
написания скриптов и возможно в будущем он нам потребуется.

mod_perl
http://perl.apache.org
пакет mod_perl-1.27.tar.gz
ftp.csua.berkeley.edu/pub/.1/ports/distfiles

mod_php
http://www.php.net
php-4.3.0.tar.gz
ftp.cronyx.ru/.2/mirror/php/distributions

mysql
http://www.mysql.com
mysql-3.23.54.tar.gz
ftp://ftp.dn.ru/pub/MySQL/Downloads/MySQL-3.23/

PostgresSQL-7.1
http://www.postgresql.com/
postgresql-7.1.tar.gz
ftp://ftp.dn.ru/pub/PgSQL/source/v7.1

- Сборка веб сервера

создаю в корне директорию src

#cd /
#mkdir src
#cd /src

Распаковываю архивы:

#tar xvfz apache_1.3.27.tar.gz
#tar xvfz mod_perl-1.27.tar.gz
#tar xvfz php-4.3.0.tar.gz
#tar xvfz mod_ssl-2.8.12-1.3.27.tar.gz
#tar xvfz openssl-engine-0.9.6b.tar.gz
#tar xvfz mysql-3.23.54.tar.gz
#tar xvfz postgresql-7.1.tar.gz

Устанавливаем openssl

#cd openssl-engine-0.9b
#sh config no-idea no-threads -fPIC
#make
#make test

Внедрение модуля mod-ssl в исходные коды apache

#cd ../mod_ssl-2.8.12-1.3.27
#./configure --with-apache=../apache_1.3.27 --with-ssl=../openssl-engine-0.9.6b --prefix=/usr/local/apache

Выполняю конфигурацию apache

#cd ../apache_1.3.27
#./configure --prefix=/usr/local/apache --bindir=/usr/bin --sbindir=/usr/sbin
--sysconfdir=/usr/local/apache/conf --logfiledir=/var/log/apache --datadir=/usr/local/apache/data

Часть наших сайтов написаны под MySQL и часть под PostgreSQL. Поэтому необходимо
установить обе базы данных. Дело в том что MySQL не поддерживает вложенные запросы
кроме MySQL 4 версии которая на момент написания статьи находилась в разработке.
Поэтому встала необходимость выбора второй базы данных которая поддерживает
вложенные запросы.

Устанавливаю базы данных:

#cd mysql-3.23.54
#./configure
#make
#make install
#./scripts/mysql_install_db
#mysqladmin -u root password \\\\\\\'ввести пароль администратора\\\\\\\'
#safe_mysqld --user=root& Данную строку необходимо добавить в автозагрузку.

У меня много памяти и много таблиц поэтому использую следующую оптимизацию.
Запуская mysqld следующим образом.

#safe_mysqld -O key_buffer=16M -O table_cache=128 -O sort_buffer=4M -O record_buffer=1M &

key_buffer Величина буфера в байтах который используется для индексов. Рекомендуется
увеличить его используется много insert и delete запросов.

sort_buffer Под каждый поток который использует сортировку order by group by выделяется
количество памяти определенное этим параметром поэтому при большом количестве памяти
следует увеличить этот параметр.

record_buffer При последовательном сканировании таблиц например при использовании
insert под каждую таблицу выделяется память определяемая этим параметром. Его также
следует увеличить в целях увеличения производительности базы данных.





Для компиляции PostgreSQL нужен gmake

Устанавливаю его с портов.

#cd /usr/ports/devel/gmake
#make
#make install

Для того чтоб обновились пути к gmake перевхожу в систему.

Устанавливаю PostgreSQL

#cd ../postgesql-7.1
#./configure
#gmake
#gmake install
#adduser postgres
#chown -R /usr/local/pgsql
#su postgres
#cd /usr/local/pqsql/bin
#./initdb -D /usr/local/pgsql/data
#./postamster -D /usr/local/pgsql/data & эту строку следует включить в автозагрузку системы
#./createdb test

Устанавливаю PHP

#cd /src/php-4.3.0
#./configure --prefix=/usr --with-apache=../apache_1.3.27
--with-config-file-path=/usr/local/apache/conf --disable-debug --enable-safe-mode
--enable-inline-optimization --with-gnu-ld --enable-memory-limit --with-mysql --with-pgsql
#make
#make install

Внедрение модуля mod_perl в исходный коды apache

#cd ../mod_perl-1.27
#perl Makefile.PL EVERYTHING=1 APACHE_SRC=../apache-1.3.27/src USE_APACI=1 PREF_HTTPD=1 DO_HTTPD=1
#make
#make install

На этом все приготовления закончены перехожу к компиляции apache

#cd ../apache_1.3.27
#./configure --prefix=/usr/local/apache --bindir=/usr/bin --sbindir=/usr/sbin
--sysconfdir=/usr/local/apache/conf --logfiledir=/var/log/apache --datadir=/usr/local/apache/data
--localstatedir=/var --runtimedir=/var/run --enable-module=ssl enable-rule=SSL_SDBM
--desable-rule=SSL_COMPAT --activate-module=src/modules/php4/libphp4.a --enable-module=php4
--activate-module=src/modules/perl/libperl.a --enable-module=perl --disable-module=status
--disable-module=userdir --disable-module=autoindex --disable-module=asis --disable-module=imap
--disable-module=env --disable-module=actions

На момент конфигурирования веб сервера libphp4.a libperl.а еще не созданы и если у вас
появится ошибка то не удивляйтесь если не найдете их в каталоге откуда якобы они
должны подключаться:
src/modules/php4/libphp4.a
src/modules/perl/libperl.а

Но если в этих каталогах пусто то вы сделали что то не так и ошибку следует искать в
инсталлировании mod-perl либо в pod-php в зависимости от того какая директория пуста. Я
например почему то забыл выполнить make install для mod-php после инсталляции и
повторном конфигурировании apache все прошло успешно.

#make
#make certificate

Последуют вопросы о фирме месте расположения и т.д. для сертификата.
На вопрос Encrypt the private key now? ответить нет
на остальные вопросы отвечать по вкусу.

#make install

Все apache скомпилирован и установлен.
Запуск apache с поддержкой протокола https

#cd /usr/sbin
#./apachectl startssl

Для проверки работоспособности сервера набераю адрес сервера в броузере.

Я не буду описывать конфигурирование веб сервера. Этому посвящено достаточно статей.
Скажу лишь необходимые изменения для запуска моих сайтов для дальнейшего
тестирования производительности.

Во первых поменял группу и пользователя под которым запускается apache с nobody на
www
Основной файл моего сайта называется index.php поэтом тоже добавляю его после
index.html

DirectoryIndex index.html index.php


Для того чтоб выполнялись файлы написанные на php добавляю следующие записи


AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps




Детальное описание к файлу конфигурации сервера можно найти тут http://freeunix.unicor.ru/content.php?page=Apache&id=57
Пример конфигурационного файла Apache.

Оптимизация системы.

Обычная инсталляция FreeBSD имеет ядро GENERIC которое должно запускаться
практически на всех машинах и имеет поддержку всех распространенных устройств
необходимых для запуска системы. Но данное ядро не оптимизировано под вашу систему и
имеет поддержку многих лишних устройств которые не присутствуют в системе. Дальше я
рассмотрю как перекомпилировать ядро для двухпроцессорного сервера и некоторые
параметры которые также влияют на производительность сервера.

Для начала проведу тест на производительность веб сервера с ядром GENERIC которое не
имеет мультипроцессорной поддержки.

Для теста используется программа http_load
Тест запускается на отдельном сервере который соединен с данным по 100Мбит сети.
Тест генерирует множество запросов к серверу и выдает подробный результат.
тест запускался с следующими параметрами:

http_load -rate 10 -seconds 300 urls

Рэйт может меняться от 1 до 10. То есть тест проводился максимально возможном
количестве запросов.
Время тестя 300 секунд или 5 минут.
Файл urls содержит адрес сервера по протоколу http и https
В моем случае файл выглядел следующим образом:
http://192.168.0.3
https://192.168.0.3

Для начала я проводил тестирование на веб сервере где стояла стандартная страница
Apache то есть не использовался PHP и не было обращений к базе данных.

Загрузка системы составляла около 30% и было использовано лишь 12М оперативной памяти

Тест выдал следующие результаты:

2997 fetches, 10 max parallel, 8.01098e+06 bytes, in 300.06 seconds
2673 mean bytes/connection
9.98799 fetches/sec, 26697.9 bytes/sec
msecs/connect: 30.2372 mean, 1137.94 max, 0.43 min
msecs/first-response: 135.683 mean, 1290.3 max, 3.522 min

Второй этап тестирования. Размещаю на веб сервере сайт написанный на языке PHP и
имеющий большое количество обращений к базе данных MySQL

Запускаю тестирование с теме же параметрами.

Загрузка системы так же составляет около 30% использовано памяти 15М
Тест выдал следующие результаты:

2999 fetches, 2 max parallel, 3.68358e+07 bytes, in 300.014 seconds
12282.7 mean bytes/connection
9.99621 fetches/sec, 122780 bytes/sec
msecs/connect: 0.535904 mean, 2.25 max, 0.471 min
msecs/first-response: 6.98476 mean, 1008.83 max, 5.491 min

Преступаю к оптимизации системы.

Утилитой sysinstall устанавливаю исходные кода ядра системы.
создаю файл настроек нового ядра

#cd /usr/src/sys/i385/conf
#cp GENERIC new
#ee new

Ниже приводится содержимое файла:

machine i386
cpu I686_CPU
ident my
maxusers 512

options NMBCLUSTERS=65536

Параметры maxusers и NMBCLUSTERS являются самыми важными в оптимизации системы.


options MATH_EMULATE
options INET
options FFS
options FFS_ROOT
options SOFTUPDATES
options UFS_DIRHASH
options MFS
options MD_ROOT
options PROCFS
options COMPAT_43
options UCONSOLE
options USERCONFIG
options VISUAL_USERCONFIG
options KTRACE
options SYSVSHM
options SYSVMSG
options SYSVSEM
options P1003_1B
options _KPOSIX_PRIORITY_SCHEDULING
options ICMP_BANDLIM Включает лимитирование ICMP пакетов в дальнейшем будет
показано как выставлять значение на количество входящих пакетов.
options KBD_INSTALL_CDEV



options SMP Включает поддержку нескольких процессоров. В данной версии FreeBSD
процессы распределяются между процессорами т.е. часть процессов запущена на одном
процессоре а другая часть на другом . Ожидается равномерная нагрузка процессоров в
FreeBSD 5.0
options APIC_IO

device isa Поддержка isa и pci интерфейсов
device pci

Поддержка АТА устройств

device ata0 at isa? port IO_WD1 irq 14
device ata1 at isa? port IO_WD2 irq 15
device ata
device atadisk
options ATA_STATIC_ID


device atkbdc0 at isa? port IO_KBD
device atkbd0 at atkbdc? irq 1 flags 0x1
device psm0 at atkbdc? irq 12

device vga0 at isa?


pseudo-device splash


device sc0 at isa? flags 0x100

device npx0 at nexus? port IO_NPX irq 13 Поддержка мат. сопроцессора.

Поддержка сети и сетевого интерфейса
device miibus
device fxp
pseudo-device loop
pseudo-device ether

Поддержка файрвола.

pseudo-device bpf
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100

На веб сервере мне не нужна поддержка дисководов портов ввода вывода USB и т.д.
поэтому все ненужные мне устройства я удалил из конфигурации ядра.

Сохраняю файл компилирую и инсталлирую новое ядро.

#config new
#cd ../../compile/new
#make depend
#make
#make install

Перезагружаю сервер с новым ядром.

#reboot

Новое ядро имеет файрвол который по умолчанию закрывает все. И не дает подключатся к
системе по сети.

добавляю правило разрешающее все подключения к системе.

#ipfw add 1 allow ip from any to any

Для того чтоб просмотреть список правил файрволла воспользуюсь опцией show

#ipfw show

Запускаю тест http_load с теми же опциями.
Загрузка системы составляет 15% и используется 11М памяти против 30% и 15М до тюнинга.

Тест выдал следующие результаты.

2999 fetches, 3 max parallel, 3.68367e+07 bytes, in 300.014 seconds
12283 mean bytes/connection
9.9962 fetches/sec, 122783 bytes/sec
msecs/connect: 1.6749 mean, 3000.79 max, 0.493 min
msecs/first-response: 7.15033 mean, 1006.84 max, 5.857 min

Наибольшее увеличение производительности дает перегенерация ядро но есть не мене
важные параметры которые тоже следует учесть в оптимизации системы.

Оптимизация файловой системы.

Включение soft updates т.н. мягкие обновления tunefs изменяет динамические параметры
файловой системы повышается скорость работы файловой системы особенно если это
связано с большим количеством маленьких файлов и повышается надежность файловой
системы.

Для этого надо размонтировать файловые системы командой umount

#umount -f /usr
#umount -f /tmp
#umount -f /var

Включаю soft updates утилитой tunefs. Подробную информацию по ключам можно найти в man
странице документации.

#tunefs -n enable /usr
#tunefs -n enable /var
#tunefs -n enable /tmp

По умолчянию FreeBSD работает с диском в синхронном режиме и включив асинхронный
режим можно выиграть в производительности. Но появляется вероятность появления
ошибок. Поэтому следует переводить в асинхронный режим работы только те разделы
работоспособность которых не так важна. Например /tmp

#mount -u -o async /tmp

Или в файле /etc/fstab в поле options после rw указать async: rw,async.


Изменение значений переменных Sysctl.

Следующие строки необходимо добавить в файл /etc/sysctl.conf

vfs.vmiodirenable=1
kern.maxfiles=65536
net.inet.icmp.icmplim=300
kern.ipc.maxsockbuf=2097152
kern.ipc.somaxconn=8192
kern.ipc.maxsockets=16424
net.inet.tcp.rfc1323=1
net.inet.tcp.delayed_ack=0
net.inet.tcp.sendspace=65535
net.inet.tcp.recvspace=65535
net.inet.udp.recvspace=65535
net.inet.udp.maxdgram=57344
net.local.stream.recvspace=65535
net.local.stream.sendspace=65535

Перезагружаю систему.

Запускаю тест с теми же параметрами.

Загрузка системы снизилась на 2% использование памяти осталось на прежнем уровне.

Результаты теста приведены ниже

2999 fetches, 3 max parallel, 3.68376e+07 bytes, in 300.005 seconds
12283.3 mean bytes/connection
9.99651 fetches/sec, 122790 bytes/sec
msecs/connect: 3.53642 mean, 3000.73 max, 0.45 min
msecs/first-response: 7.59055 mean, 1006.91 max, 5.769 min

В результате оптимизации скорость работы веб сервера увеличилась в 5 раз вместе с тем
нагрузка на систему снизилась в два раза. Снижение нагрузки на систему скорее всего
произошло в основном из за подключения в ядре второго процессора.

Автор: Дрезюля Дмитрий
E-mail: dmitri_dr@mail.ru
http://freeunix.unicor.ru/who.php?user=Noname
550 Прочтений •  [Установка Apache+PHP+Mysql под FreeBSD и тюнинг FreeBSD 4.7 (freebsd apache php mysql install tune optimization postgresql smp cpu)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Установка Apache+PHP+Mysql под Free... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка