Конфигурирование HTTPD позади лака на 512 МБ VPS

Exchange не поддерживает выполнение в рабочей группе. Это должно быть установлено в домене. Без клиентских компьютеров, подключенных к домену (как домашнее OSs не поддерживают соединение с доменом), пользователи должны будут пройти проверку подлинности против домена каждый раз, когда Outlook открывается.

3
задан 8 July 2011 в 19:44
1 ответ

Необходимо получить больший VM. Вы запускаете свое сообщение, говоря нам, что Ваш VM "полил из шланга" дважды теперь из-за исчерпания памяти и свопинга. Как был бы, добавляя еще одно приложение, которое извлекает выгоду из большой справки объема памяти Вашей ситуации? Это не будет.

Давайте сломаем Ваш небольшой VM и его использование памяти.

Во-первых, у Вас есть 512 МБ RAM. Возьмите 100 - 125 МБ (20-25%) из этого и полностью удалите его из своих вычислений. Эта RAM необходима Вашему ядру, поддерживая процессы, буферы и кэш. Это уезжает, Вы с 400 МБ RAM (идете на компромисс).

MySQL

Скажем, Вы хотите использовать половину своих 400 МБ, давая MySQL 200MB. Позвольте мне прояснить, что я не знаком с требованиями Drupal, или использует ли это MyISAM или InnoDB. При конфигурировании InnoDB, Вы использовали бы innodb_buffer_pool_size переменная и просто набор это к 200M. Можно ожидать, что MySQL будет использовать больше, чем это однако для вещей как кэш запроса (если используется), открытые таблицы, обработка соединения, отслеживание потока, буферы вида, буферы соединения и бесчисленные другие параметры конфигурации. При использовании MyISAM, это еще более сложно, потому что существует намного больше включенных переменных, key_buffer и myisam_sort_buffer всего два из нескольких. Так, принимая InnoDB с 200M innodb_buffer_pool_size и кэш запроса, отключенный скажем, MySQL, использует 216 МБ RAM.

Apache

Вам теперь уехали в 184 МБ RAM Apache для использования. Во-первых, позволяет, занимают некоторое время для разрешения некоторых действительно запутывающих вещей в вопросе.

Я узнал, что должен вычислить свой средний размер процесса Apache в Мбите MaxClients, и что это число не должно выходить за предел памяти, доступной системе.

Нет. Вы наблюдаете свое среднее число httpd размер процесса, когда Ваш сайт используется. Используя средний размер на процесс httpd (принимающий предварительное ветвление MPM, значение по умолчанию) Вы вычисляете что MaxClients может быть то, так, чтобы Вы не превышали память, выделенную httpd или машине, заставляя это подкачать.

Каждый размер процесса находится под небольшими 7% (это было бы приблизительно 1.4 МБ, правильно?) согласно Вершине. 512/1.5 = 341... это кажется ужасно большим мне. Я неправильно понимаю что-то?

Да, Вы. Во-первых, прекратите использовать процент для "вычисления" размера процессов httpd.


Править

Ожидайте! Что? 7% из 512 35.84. Я не уверен, где Вы получили 1,4 Мбита от. Мой ответ все еще стоит, и я не буду корректировать свой ответ для компенсации Вашего 35M httpd процессы.

Редактирование конца


Размер процессов httpd перечислен явно в вершине под RES столбец. Например:

top - 21:48:44 up 168 days,  4:46,  1 user,  load average: 0.02, 0.09, 0.08
Tasks:  66 total,   2 running,  64 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   2072832k total,  1994784k used,    78048k free,   407976k buffers
Swap:   787176k total,      300k used,   786876k free,  1321988k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                       
 8725 mysql     20   0  729m  69m 3396 S  0.0  3.4  53:45.84 mysqld                                                                                                         
22217 apache    20   0  161m  17m 7960 S  0.0  0.9   0:08.42 apache2                                                                                                        
26193 apache    20   0  161m  16m 6944 S  0.0  0.8   0:00.26 apache2                                                                                                        
 4470 apache    20   0  161m  16m 6948 S  0.0  0.8   0:01.52 apache2                                                                                                        
 6193 apache    20   0  161m  15m 6608 S  0.0  0.8   0:01.35 apache2                                                                                                        
 4014 apache    20   0  161m  15m 6616 S  0.0  0.8   0:01.48 apache2                                                                                                        
 6939 apache    20   0  161m  15m 6608 S  0.0  0.8   0:01.48 apache2                                                                                                        
 6685 apache    20   0  161m  15m 6608 S  0.0  0.8   0:01.32 apache2                                                                                                        
26146 apache    20   0  161m  15m 6604 S  0.0  0.8   0:00.38 apache2                                                                                                        
 6443 apache    20   0  161m  14m 5712 S  0.0  0.7   0:01.38 apache2                                                                                                        
26450 apache    20   0  161m  14m 5704 S  0.0  0.7   0:00.19 apache2                                                                                                        
 2524 root      20   0  159m  13m 5524 S  0.0  0.6   0:03.34 apache2   

Технически память, используемая для каждого процесса различие RES и SHR (общий). Это вызвано тем, что SHR память, совместно использованная другими процессами. Вы видите на примере, который я показал Вам, это - примерно 9 МБ в среднем для моего уникального варианта использования. Это - просто машина, выполняющая Кактусы с фактически никаким трафиком - возможно, 5-10 хитов в день, если я, оказывается, смотрю на него. Я скептически настроен, что Drupal использует так мало памяти, но Вы сможете легко сказать. Это определенно использует намного больше чем 1,4 МБ.

Теперь, позволяет, берут очень нереалистичное предположение, что Ваши процессы httpd используют ровных 10 МБ RAM каждый раз. С 184 МБ RAM, "выделенной" для Apache, это оставляет Вас с MaxClients 18 (10 МБ * 18 = 180 МБ). Очень очень намного меньше чем 341.

Лак

Во-первых, позволяет, оценивают текущее состояние Вашего сервера. Принятие Вас правильно настроило MySQL и httpd для не свопинга при загрузке, Вы работаете с тем, что является довольно анемичной конфигурацией MySQL и httpd конфигурацией, которая начнет отказываться от запросов, если Вы когда-нибудь получите больше чем 18 параллельных запросов. По любым стандартам эта машина не находится ни в какой форме для обработки трафика, который "вырастет очень быстро".

Теперь Вы хотите добавить третье приложение в и выделить 256 МБ RAM к нему?! Та RAM должна будет прибыть или из MySQL или из Apache, и возможно Вам могла сойти с рук кража некоторых от самой ОС. Так или иначе Вы - далее gimping один из базовых сервисов на Вашу машину.

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

Решение

Используйте то, что я учил Вас конфигурированию MySQL и Apache правильно делать точно что: настройте их правильно. Ваш MaxClients нигде не должны быть близкие 300, очень вероятно под 20, и вполне возможно под 10. Другая вещь, которую я не упомянул, состоит в том, что процессы httpd могут немного отказаться оставить RAM, когда они "достигли максимума" намного выше, чем среднее число. например, Если httpd рабочий поразит 20 МБ для единственного запроса, то тот рабочий продолжит использовать 20 МБ неограниченно долго (afaik), пока его не будут пожинать. Можно обратиться к этому путем понижения Вашего MaxRequestsPerChild установка. Понижение этого означает, что дочерние процессы пожинают более часто. Это замедлится, Ваша производительность при загрузке (разветвляющий новые процессы является относительно дорогим), но она поможет сохранить Ваше использование памяти управляемым.

Настроенный правильно Ваш сервер никогда не должен подкачивать. Если бы Вы настраиваете свой сервер правильно, и Вы видите проблемы, такие как отказанные соединения при загрузке, то я предложил бы или расширение Вашего VM, или изучать включение Лака, отдельное выделило VM.

Вы прочь, направо запускаются путем чтения документов и обращения за помощью онлайн. Если Вы застреваете или нуждаетесь во всесторонней помощи, не стесняйтесь спрашивать в другом вопросе, но не забывайте искать сначала! Довольно возможно, что можно найти ответ в другом.

14
ответ дан 3 December 2019 в 04:43

Теги

Похожие вопросы