У меня есть проблема с перегрузкой сервера на конфигурации Apache 8 ГБ RAM Виртуальный сервер 1and1.com. Сервер становится чрезвычайно медленным, после того как он достигает 100 + активные пользователи (согласно аналитике Google) в течение времени выбора. Я сделал осаду и тесты loadimpact и сделал некоторые изменения конфигурации в httpd.conf файл, но я не знаю, достаточно ли это. Возможно, мне просто нужно больше поршня как 16 ГБ, или я пропускаю что-то? Я знаю, что могу оптимизировать программирование, но я не вижу, как оно улучшит производительность решительно. Интересный факт - то, что использование памяти параллелей только отображает 10-20% во время этой перегрузки, но веб-сайт является настолько медленным!На помощь!
Avg. site file size is 1.5MB (We have lots of pictures)
Avg. load time: 1.8s (during normal days) - 1,600 page views, 270 highest sessions p/h
Это - статистика аналитики очень медленного дня сервера:
Highest sessions per hour: 420 - 700
Total sessions: 4,300 - 37,000
Page views: 25,300 - 361,500
Avg. Session duration: 9min
Серверные данные, обеспеченные 1and1:
Webspace: 200GB
RAM: 8GB
Unlimited Traffic: yes
Operating System: CentOS 6 minimal system (64-bit)
cpu cores: 8
Processors: 4
Processor: AMD Opteron(tm) Processor 6378
Http.conf
Timeout 75
KeepAlive On
MaxKeepAliveRequests 500
KeepAliveTimeout 3
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 220
MaxClients 220
MaxRequestsPerChild 5000
</IfModule>
my.conf
max_allowed_packet = 1G
max_connections = 500
max_user_connections = 500
thread_cache_size = 500
query_cache_type = 1
query_cache_size = 128M
sort_buffer_size = 2M
tmp_table_size = 32M
read_buffer_size = 128k
read_rnd_buffer_size = 256k
join_buffer_size = 128k
table_definition_cache = 400
table_open_cache = 400
key_buffer_size = 500M
max_heap_table_size = 64M
innodb_buffer_pool_size = 500M
innodb_additional_mem_pool_size = 20M
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 12M
innodb_log_file_size = 256M
Я делаю что-то не так? Я ценю всю справку!
Первое, на что вам нужно обратить внимание, это определить, где находится ваше узкое место.
Вообще говоря, такого рода проблемы с производительностью будут в приложении, а не в конфигурации веб-сервера.
Как только вы поймете свое узкое место, вы, возможно, сможете смягчить его с помощью программного обеспечения веб-сервера (точные методы зависят от того, какой код приложения вы выполняете и как вы прикрепляете его к вашему веб-серверу, но есть много информации о том, как получить максимальную производительность из FastCGI или mod_passenger
), но там будет только так много, что вы можете сделать там.
В заключение: Не начинайте с веб-сервера, начните с отслеживания узкого места и его исправления - если вы обнаружите, что на вашем веб-сервере есть что-то, что вы можете сделать, чтобы помочь, то попробуйте это, но вряд ли он сможет исправить проблему с производительностью вашего приложения.
.