Возник у меня вопрос есть VDS/VPS c памятью 64mb, Intel(R) Core(TM) i7 CPU 930 @ 2.80GHz (2806.98-MHz 686-class CPU) и все это работает под Xen Virtualization.
Стоит там вот такая ось
Код: Выделить всё
uname -a
FreeBSD 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:55:53 UTC 2010 root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
Возник вопрос а как бы оптимизировать все это, что бы ела мало памяти.
Сразу и огласим задачи, vds должна быть ns'ом для 3-7 зон (мастер), поддерживать php+perl (cgi)+mysql c онлайном в 20ть пользователей. С примерным запросом к mysql, 700-1500 на select, 450+ на update, 70-160 на delet и всё это в минуту. таблица у меня одна.
И еще одна шизофреничка как идея, я не хочу пересобирать ядро. Да-да-да (: как-то так!
Почитал http://www.lissyara.su/articles/freebsd/tuning/vds/ , погуглил.
И приступил к работе, вот что я уже сделал (если есть замечания, поправляйте).
1) загнал ssh в inetd что бы не стаял как постамент. Работаю я из под рута, других пользователей не намечается.
2) Для работы с портами я выбрал portmaster т.к. он не тянет зависимостей и работает на sh.
Собран он в духе
Код: Выделить всё
cat /var/db/ports/portmaster/options
# This file is auto-generated by 'make config'.
# No user-servicable parts inside!
# Options for portmaster-3.6.1
_OPTIONS_READ=portmaster-3.6.1
WITHOUT_BASH=true
WITHOUT_ZSH=true
Код: Выделить всё
cat /var/db/ports/lighttpd/options
# This file is auto-generated by 'make config'.
# No user-servicable parts inside!
# Options for lighttpd-1.4.28_4
_OPTIONS_READ=lighttpd-1.4.28_4
WITHOUT_BZIP2=true
WITHOUT_CML=true
WITHOUT_FAM=true
WITHOUT_GDBM=true
WITHOUT_IPV6=true
WITHOUT_LIBEV=true
WITHOUT_MAGNET=true
WITHOUT_MEMCACHE=true
WITHOUT_MYSQL=true
WITHOUT_MYSQLAUTH=true
WITHOUT_NODELAY=true
WITHOUT_OPENLDAP=true
WITH_OPENSSL=true
WITHOUT_SPAWNFCGI=true
WITHOUT_VALGRIND=true
WITHOUT_WEBDAV=true
Код: Выделить всё
cat /etc/make.conf
CFLAGS=-O2 -pipe -funroll-loops
NO_GAMES=true # do not build games (games/ subdir)
NO_INET6=true # do not build IPv6 related programs and libraries
WITHOUT_IPV6=yes
WITHOUT_X11=yes
WITHOUT_SAMBA=yes
WITHOUT_CUPS=yes
NO_GUI=yes
NO_X11=yes
NO_X=yes
NO_PROFILE=true
Код: Выделить всё
inetd_enable="YES"
ntpdate_enable="YES"
ntpdate_hosts="news.demos.su"
moused_nondefault_enable="NO"
devd_enable="NO"
firewall_enable="YES"
firewall_logging="YES"
firewall_script="/etc/ipfw.firewall"
named_enable="YES"
named_flags="-4 -n 1"
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
syslogd_flags="-4 -ss"
accounting_enable="YES"
fsck_y_enable="YES"
icmp_drop_redirect="YES"
tcp_drop_synfin="YES"
tcp_restrict_rst="YES"
Код: Выделить всё
forward only;
forwarders { 8.8.8.8; 8.8.4.4; };
recursion no;
allow-update { none; };
allow-recursion { none; };
allow-transfer { none; };
в догонку
Код: Выделить всё
ps auxwww
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 11 99,4 0,0 0 8 ?? RL 11:03 1393:09,24 [idle]
root 0 0,0 0,0 0 48 ?? DLs 11:03 0:00,04 [kernel]
root 1 0,0 0,2 2912 488 ?? ILs 11:03 0:00,00 /sbin/init --
root 2 0,0 0,0 0 8 ?? DL 11:03 0:02,14 [g_event]
root 3 0,0 0,0 0 8 ?? DL 11:03 0:02,08 [g_up]
root 4 0,0 0,0 0 8 ?? DL 11:03 0:07,64 [g_down]
root 5 0,0 0,0 0 8 ?? DL 11:03 0:00,00 [sctp_iterator]
root 6 0,0 0,0 0 8 ?? DL 11:03 0:00,00 [xpt_thrd]
root 7 0,0 0,0 0 8 ?? DL 11:03 0:00,05 [pagedaemon]
root 8 0,0 0,0 0 8 ?? DL 11:03 0:00,00 [vmdaemon]
root 9 0,0 0,0 0 8 ?? DL 11:03 0:00,00 [pagezero]
root 10 0,0 0,0 0 8 ?? DL 11:03 0:00,00 [audit]
root 12 0,0 0,0 0 120 ?? WL 11:03 1:45,28 [intr]
root 13 0,0 0,0 0 8 ?? DL 11:03 0:02,67 [yarrow]
root 14 0,0 0,0 0 32 ?? DL 11:03 0:02,13 [usb]
root 15 0,0 0,0 0 8 ?? DL 11:03 0:00,28 [bufdaemon]
root 16 0,0 0,0 0 8 ?? DL 11:03 0:03,48 [syncer]
root 17 0,0 0,0 0 8 ?? DL 11:03 0:00,26 [vnlru]
root 18 0,0 0,0 0 8 ?? DL 11:03 0:00,21 [softdepflush]
root 19 0,0 0,0 0 8 ?? DL 11:03 0:00,04 [flowcleaner]
root 516 0,0 0,0 0 8 ?? DL 11:03 0:00,03 [accounting]
root 551 0,0 0,5 3348 1240 ?? Ss 11:03 0:00,10 /usr/sbin/syslogd -l /var/run/log -l /var/named/var/run/log -4 -ss
bind 636 0,0 4,1 15388 10140 ?? Is 11:03 0:00,62 /usr/sbin/named -4 -n 1 -t /var/named -u bind
root 917 0,0 0,5 3376 1368 ?? Ss 11:03 0:00,12 /usr/sbin/cron -s
root 950 0,0 0,6 3408 1492 ?? Is 11:03 0:00,00 /usr/sbin/inetd -wW -C 60
root 3473 0,0 1,8 9428 4516 ?? Ss 9:20 0:00,19 sshd: root@pts/0 (sshd)
root 983 0,0 0,5 3348 1156 v0 Is+ 11:03 0:00,00 /usr/libexec/getty Pc ttyv0
root 3476 0,0 1,3 5668 3276 0 Rs 9:21 0:00,03 -csh (csh)
root 3610 0,0 0,6 3428 1400 0 R+ 10:22 0:00,00 ps auxwww
# pkg_info
gettext-0.18.1.1 GNU gettext package
gmake-3.81_4 GNU version of 'make' utility
libiconv-1.13.1_1 A character set conversion library
libtool-2.2.10 Generic shared library support script
lighttpd-1.4.28_4 A secure, fast, compliant, and very flexible Web Server
pcre-8.12 Perl Compatible Regular Expressions library
pkg-config-0.25_1 A utility to retrieve information about installed libraries
portmaster-3.6.1 Manage your ports without external databases or languages
vim-lite-7.3.81 Vi "workalike", with many additional features (Lite package
p.s. за орфографию и плохой литературный слоган прощу сразу прощения.
p.s.s ну и еще, это только практика и спортивный интерес мечта все это заставить работать на 32 мб ОЗУ.