Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1 2 След.
RSS
Apache 2.0, 900 юзверей online
 
900 юзеров онлайн качают 50-ти метровый файл в 2 потока c 80 порта.

Что нужно изменить в конфигурации Apache 2.0 для того чтобы сервер не вешал систему: Cannot allocate memory или Cannot open file, meny files open in system, или ещё Cannot fork new proccess

Что нужно менять в:

<IfModule prefork.c>
StartServers 2
MinSpareServers 5
MaxSpareServers 20
ServerLimit 900
MaxClients 900
MaxRequestsPerChild 4000
</IfModule>

# worker MPM
# StartServers: initial number of server processes to start
# MaxClients: maximum number of simultaneous client connections
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule worker.c>
StartServers 2
MaxClients 900
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>

# perchild MPM
# NumServers: constant number of server processes
# StartThreads: initial number of worker threads in each server process
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# MaxThreadsPerChild: maximum number of worker threads in each server process
# MaxRequestsPerChild: maximum number of connections per server process

#<IfModule perchild.c>
#NumServers 5
#StartThreads 2
#MinSpareThreads 1
#MaxSpareThreads 2
#MaxThreadsPerChild 3
#MaxRequestsPerChild 30
#</IfModule>
 
Скорее всего это проблема не апача, а операционной системы. У тебя стоит ограничение на количество открытых файлов для запущенного приложения. Какая OS используется?
Хочешь быть мудрым? Не желай всего, что видишь; не верь всему, что слышишь; не говори всего, что знаешь; не делай всего, что умеешь, а только то, что полезно.
 
Число открытых дескрипторов задается через ulimit -n перед запуском апач. Но после этого может быть придется переопределить FD_SETSIZE в исходниках апач. А мож и не придется :)
Хочешь быть мудрым? Не желай всего, что видишь; не верь всему, что слышишь; не говори всего, что знаешь; не делай всего, что умеешь, а только то, что полезно.
 
Цитата
Pig killer пишет:
Скорее всего это проблема не апача, а операционной системы. У тебя стоит ограничение на количество открытых файлов для запущенного приложения. Какая OS используется?

RedHat 7.3, virtual colocation, Apache/2.0.40
 
Цитата
bogdasha пишет:
 
Цитата
Pig killer пишет:
Скорее всего это проблема не апача, а операционной системы. У тебя стоит ограничение на количество открытых файлов для запущенного приложения. Какая OS используется?

RedHat 7.3, virtual colocation, Apache/2.0.40
Сервер что не твой? Тогда забуть, без провайдера эту проблему не решить.
Хочешь быть мудрым? Не желай всего, что видишь; не верь всему, что слышишь; не говори всего, что знаешь; не делай всего, что умеешь, а только то, что полезно.
 
Сервер виртуальный, т.е. логический, виртуальный. Т.е. у меня все права рута, но они меня контролируют.

[root@vserver156 conf]# ulimit -a
core file size        (blocks, -c) 0
data seg size         (kbytes, -d) unlimited
file  size         &n bsp;   (blocks, -f) unlimited
max locked memory     (kbytes, -l) unlimited
max memory size       (kbytes, -m) unlimited
open  files         & nbsp;         & nbsp;(-n) 1024
pipe  size         &n bsp;(512 bytes, -p) 8
stack  size         &n bsp;  (kbytes, -s) 8192
cpu  time         &n bsp;   (seconds,  -t) unlimited
max user  processes        &nb sp;   (-u) 16384
virtual memory        (kbytes, -v) unlimited
 
1)с каким mpm собран апач? httpd -l
2)обнови апач
3)повесить над апачем nginx или lighttpd, чтобы статику не отдавать апачем.
4)если у тебя mpm-prefork, то пункт 3 единственно верный.

а вообще, читать <a href=http://sysoev.ru/nginx/ rel="nofollow" target="_blank">тут</a>
 
Увеличь в ulimit -n число открытых файлов. Сейчас у тебя 1024. Поставь раза в 4 больше. Но мож придется пересобрать апач.
Хочешь быть мудрым? Не желай всего, что видишь; не верь всему, что слышишь; не говори всего, что знаешь; не делай всего, что умеешь, а только то, что полезно.
 
Цитата
Pig killer пишет:
Увеличь в ulimit -n число открытых файлов. Сейчас у тебя 1024. Поставь раза в 4 больше. Но мож придется пересобрать апач.
имхо, не правильный путь. скорее всего апач собран с mpm-prefork(что фактически превращает его в 1.3.х), отсуда и проблемы с форком/памятью. Гораздо разумнее повесить на 80й порт лёгкий nginx и обрабатывать файловые запросы им, а динамику отдавать бэкэнду(апач). апач & nginx заставить общаться через unix-socket.
Если и этого мало, то делаем связку apache+squid(в режиме http-акселератора) и используем её как бэкэнд для nginx.

Цитата
bogdasha пишет:

RedHat 7.3, virtual colocation, Apache/2.0.40
uname -a что говорит?
там virtuozzo, или что-то другое? vserver?
 
[root@vserver156 www]# httpd -l
Compiled in modules:
 core.c
 prefork.c
 http_core.c
 mod_so.c
 
[root@vserver156 www]# ulimit -a
core file size        (blocks, -c) 0
data seg size         (kbytes, -d) unlimited
file  size         &n bsp;   (blocks, -f) unlimited
max locked memory     (kbytes, -l) unlimited
max memory size       (kbytes, -m) unlimited
open  files         & nbsp;         & nbsp;(-n) 8096
pipe  size         &n bsp;(512 bytes, -p) 8
stack  size         &n bsp;  (kbytes, -s) 8192
cpu  time         &n bsp;   (seconds,  -t) unlimited
max user  processes        &nb sp;   (-u) 16384
virtual memory        (kbytes, -v) unlimited
 
[root@vserver156 www]# uname -a
Linux vserver156 2.4.20-021stab028.7.777-smp #1 SMP Thu Apr 14 15:04:58 MSD 2005 i686 i686 i386 GNU/Linux
 
Цитата
bogdasha пишет:
[root@vserver156 www]# httpd -l
Compiled in modules:
prefork.c
обновляй апач, собирай его с mpm-worker. Если не поможет - делай как я описывал выше.

Цитата
bogdasha пишет:
[root@vserver156 www]# uname -a
Linux vserver156 2.4.20-021stab028.7.777-smp #1 SMP Thu Apr 14 15:04:58 MSD 2005 i686 i686 i386 GNU/Linux
ооо... vserver =) хорошая штука.
только жаль ядро старое.
лучше бы 2.6 было, нагрузку лучше держит.
 
Цитата
bogdasha пишет:
[root@vserver156 www]# ulimit -a
core file size        (blocks, -c) 0
data seg size         (kbytes, -d) unlimited
file  size         &n bsp;   (blocks, -f) unlimited
max locked memory     (kbytes, -l) unlimited
max memory size       (kbytes, -m) unlimited
open  files         & nbsp;         & nbsp;(-n) 8096
pipe  size         &n bsp;(512 bytes, -p) 8
stack  size         &n bsp;  (kbytes, -s) 8192
cpu  time         &n bsp;   (seconds,  -t) unlimited
max user  processes        &nb sp;   (-u) 16384
virtual memory        (kbytes, -v) unlimited
А это помогло? Должно помочь.
Хочешь быть мудрым? Не желай всего, что видишь; не верь всему, что слышишь; не говори всего, что знаешь; не делай всего, что умеешь, а только то, что полезно.
 
Цитата
^rage^ пишет:
обновляй апач, собирай его с mpm-worker. Если не поможет - делай как я описывал выше.

Детальная инструкция процесса сборки необходима, начиная с того где взять компилятор и как им пользоваться. И заодно как декомпильнуть httpd чтобы посмотреть его в качестве примера для написания собственного сокетного демона.
 
Цитата
^rage^ пишет:
 
Цитата
bogdasha пишет:
[root@vserver156 www]# httpd -l
Compiled in modules:
prefork.c
обновляй апач, собирай его с mpm-worker. Если не поможет - делай как я описывал выше.

Цитата
bogdasha пишет:
[root@vserver156 www]# uname -a
Linux vserver156 2.4.20-021stab028.7.777-smp #1 SMP Thu Apr 14 15:04:58 MSD 2005 i686 i686 i386 GNU/Linux
ооо... vserver =) хорошая штука.
только жаль ядро старое.
лучше бы 2.6 было, нагрузку лучше держит.

Настроился ломать?
 
[root@vserver156 log]# cat secure
Aug  8 12:54:56 vserver156 xinetd[29791]: START: ssh pid=29967 from=212.82.222.203
Aug  8 14:05:23 vserver156 xinetd[1928]: START: ssh pid=9808 from=81.56.128.247
Aug  8 14:05:23 vserver156 xinetd[9808]: FAIL: ssh address from=81.56.128.247
Aug  8 14:13:50 vserver156 xinetd[1928]: START: ssh pid=10989 from=81.56.128.247
Aug  8 14:13:50 vserver156 xinetd[10989]: FAIL: ssh address from=81.56.128.247
Aug  8 15:12:20 vserver156 xinetd[1928]: START: ssh pid=27776 from=212.82.222.203
 
Aug  8 14:54:52 vserver156 named[26783]: zone suvorov.kiev.ua/IN: refresh: could not set file modification time of suvorov.ki
ev.ua.dns: permission denied
Aug  8 15:11:56 vserver156 sshd(pam_unix)[28458]: session closed for user root
Aug  8 15:12:28 vserver156 sshd(pam_unix)[27776]: authentication failure; logname= uid=0 euid=0 tty=NODEVssh ruser= rhost=news
.customs.kiev.ua  user=root
Aug  8 15:12:33 vserver156 sshd(pam_unix)[27776]: session opened for user root by (uid=0)
Aug  8 15:29:31 vserver156 named[26783]: zone qdpro.com.ua/IN: refresh: could not set file modification time of qdpro.com.ua.
dns: permission denied
 
Кто-то пытается меня похакать уже по всей видимости..

Мдааа, не успел сообщение на секуритилаб оставить, уже меня хакают.

Что же будет через 10 лет, русские наверное америкосов удалённо программить начнут...

Просто чудо какоето.
 
Цитата
bogdasha пишет:
И заодно как декомпильнуть httpd чтобы посмотреть его в качестве примера для написания собственного сокетного демона.
у апача доступны исходники.
Но вот в качестве примера, рекомендую их не смотреть, а посмотреть несколко простых примеров...
Страницы: 1 2 След.
Читают тему