We are happy to announce that Vesta is back under active development as of 25 February 2024. We are working on v1 candidate and expect to engage more with the community over the coming months. We are committed to open source, and we encourage contributors to help us build the future of Vesta.
Оптимизация производительности сервера
Оптимизация производительности сервера
Простите заранее, но я скорее разработчик чем администратор сервера. Поэтому моих знаний linux у меня хватает только чтобы настроить так лишбы работало.
Конфиг моей VPS:
1x ядро Xeon E5-2620
512 ram
Вот что выдает ab linux
Как видите все не очень хорошо. Насколько знаю связка NGINX + APACHE при моей конфигурации может держать порядка 60-70 запросов в сек. на данном конфиге.
При этом у меня свободно порядка 100 мб RAM (Если смотреть без кешов и буферов).
Подскажите куда копать и что смотреть.
Конфиг моей VPS:
1x ядро Xeon E5-2620
512 ram
Вот что выдает ab linux
Code: Select all
[root@VPS4469 ~]# ab -c 50 -n 500 site.ru/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking express-clinic.ru (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Finished 500 requests
Server Software: nginx
Server Hostname: site.ru
Server Port: 80
Document Path: /
Document Length: 14585 bytes
Concurrency Level: 50
Time taken for tests: 38.504763 seconds
Complete requests: 500
Failed requests: 191
(Connect: 0, Length: 191, Exceptions: 0)
Write errors: 0
Total transferred: 4677209 bytes
HTML transferred: 4518989 bytes
Requests per second: 12.99 [#/sec] (mean)
Time per request: 3850.476 [ms] (mean)
Time per request: 77.010 [ms] (mean, across all concurrent requests)
Transfer rate: 118.61 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 2.7 0 10
Processing: 5 3672 5211.7 2129 35381
Waiting: 5 3648 5176.1 2116 35327
Total: 5 3673 5212.1 2129 35381
Percentage of the requests served within a certain time (ms)
50% 2129
66% 2881
75% 4035
80% 4445
90% 10369
95% 15829
98% 21818
99% 22470
100% 35381 (longest request)
При этом у меня свободно порядка 100 мб RAM (Если смотреть без кешов и буферов).
Подскажите куда копать и что смотреть.
Re: Оптимизация производительности сервера
Главное преимущество в связке Nginx+Apache в том, что nginx обрабатывает статические файлы. Картинки, стили, текстовые файлы и так далее. Судя по тесту, вы проверяли индексную страницу, но в таком сценарии польза от nginx не будет заметна, так как ab рендерит страницу не целиком, а только скачивает html код индекса.
Для того чтобы оптимизировать скорость загрузки индекса, вы можете включить встроенное в nginx кэширование. Для этого необходимо отредактировать домен и указать шаблон caching.
Синтетические тесты редко могут отразить реальную картину. Наблюдайте за графиками на вкладке Grapsh, так вы сможете получить представление о реальной производительности.
Для того чтобы оптимизировать скорость загрузки индекса, вы можете включить встроенное в nginx кэширование. Для этого необходимо отредактировать домен и указать шаблон caching.
Синтетические тесты редко могут отразить реальную картину. Наблюдайте за графиками на вкладке Grapsh, так вы сможете получить представление о реальной производительности.
Re: Оптимизация производительности сервера
dolci2006 wrote:Простите заранее, но я скорее разработчик чем администратор сервера. Поэтому моих знаний linux у меня хватает только чтобы настроить так лишбы работало.
Для реального теста используйте siege с полным списком урлов
например: siege -i -c50 -d5 --time=1H -f {файл со списком урлов}
-I имитация поведения пользователя
-с общее количество пользователей
-d задержка между переходом по ссылкам(в данном случае рендом в пределах 1-5)
--time=#{S,M,H} время теста
ab оченьт глупая синтетика... не дает даже приблизительной оценки.
-
- Posts: 54
- Joined: Thu Dec 05, 2013 2:16 pm
Re: Оптимизация производительности сервера
а реально: что можно по-оптимизировать, и что нужно было бы сделать, а ?
в зависимости от хоста на котором крутится? у меня две виртуалки, на одном хосте.
одной дас 1 проц и 2 гб озу, стоит убунта
а второй дано 2 проца, и 6 гб озу, стоит центос с панелью - по данному тесту - 1я виртуалка отрабатывает в 2 раза больше запросов.
на ней тоже стоит апач, мускул и нгинкс для статики.
и кто скажет - что с данной панелью шустрее - убунта (кстати, уже стабильно на ней работает панель или еще не очень?)
или центос?
в зависимости от хоста на котором крутится? у меня две виртуалки, на одном хосте.
одной дас 1 проц и 2 гб озу, стоит убунта
а второй дано 2 проца, и 6 гб озу, стоит центос с панелью - по данному тесту - 1я виртуалка отрабатывает в 2 раза больше запросов.
на ней тоже стоит апач, мускул и нгинкс для статики.
и кто скажет - что с данной панелью шустрее - убунта (кстати, уже стабильно на ней работает панель или еще не очень?)
или центос?
Re: Оптимизация производительности сервера
Сейчас панель одинаково хорошо работает, как на RHEL системах так и на на Debian-like дистрибутивах. Абстрактно говорить о производительности сложно, слишком иного параметров имеют значение. Впрочем не исключена и разница в сборках ПО для ubuntu, мы сравнительные тесты не проводили.
-
- Posts: 54
- Joined: Thu Dec 05, 2013 2:16 pm
Re: Оптимизация производительности сервера
я только что установил на такую же виртуалку на убунту - немного, процентов на 5 быстрее. но это такое.
меня больше волнует, почему на убунте установленной с апачем нгинксом и тд - раза в 2,5-3 быстрее, судя по данному тупому тесту...
1 убунта, с нгиксом, апачем. ставил правда не я...
2 центос с панелью
3 убунта с панелью
вот хочу что бы было как на 1.
меня больше волнует, почему на убунте установленной с апачем нгинксом и тд - раза в 2,5-3 быстрее, судя по данному тупому тесту...
Code: Select all
ab -c 50 -n 5000 ****2.5/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking ******2.5 (be patient)
Completed 500 requests
Completed 1000 requests
Completed 1500 requests
Completed 2000 requests
Completed 2500 requests
Completed 3000 requests
Completed 3500 requests
Completed 4000 requests
Completed 4500 requests
Completed 5000 requests
Finished 5000 requests
Server Software: nginx/1.4.3
Server Hostname: *******2.5
Server Port: 80
Document Path: /
Document Length: 184 bytes
Concurrency Level: 50
Time taken for tests: 0.799 seconds
Complete requests: 5000
Failed requests: 0
Write errors: 0
Non-2xx responses: 5000
Total transferred: 1865000 bytes
HTML transferred: 920000 bytes
Requests per second: 6257.99 [#/sec] (mean)
Time per request: 7.990 [ms] (mean)
Time per request: 0.160 [ms] (mean, across all concurrent requests)
Transfer rate: 2279.52 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 4 1.2 4 6
Processing: 1 4 1.4 4 9
Waiting: 0 2 1.3 2 6
Total: 4 8 1.4 8 13
Percentage of the requests served within a certain time (ms)
50% 8
66% 8
75% 9
80% 9
90% 10
95% 10
98% 11
99% 11
100% 13 (longest request)
root@website:~#
Code: Select all
ab -c 50 -n 5000 *****1.20/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking *****1.20 (be patient)
Completed 500 requests
Completed 1000 requests
Completed 1500 requests
Completed 2000 requests
Completed 2500 requests
Completed 3000 requests
Completed 3500 requests
Completed 4000 requests
Completed 4500 requests
Completed 5000 requests
Finished 5000 requests
Server Software: nginx
Server Hostname: ******.20
Server Port: 80
Document Path: /
Document Length: 1051 bytes
Concurrency Level: 50
Time taken for tests: 3.055 seconds
Complete requests: 5000
Failed requests: 0
Write errors: 0
Total transferred: 6525000 bytes
HTML transferred: 5255000 bytes
Requests per second: 1636.68 [#/sec] (mean)
Time per request: 30.550 [ms] (mean)
Time per request: 0.611 [ms] (mean, across all concurrent requests)
Transfer rate: 2085.81 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 1.2 0 13
Processing: 2 30 4.2 31 60
Waiting: 1 30 4.2 31 60
Total: 11 30 3.8 31 60
Percentage of the requests served within a certain time (ms)
50% 31
66% 31
75% 32
80% 32
90% 33
95% 35
98% 40
99% 45
100% 60 (longest request)
[root@crms ~]#
Code: Select all
ab -c 50 -n 5000 ****15/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking *****1.15 (be patient)
Completed 500 requests
Completed 1000 requests
Completed 1500 requests
Completed 2000 requests
Completed 2500 requests
Completed 3000 requests
Completed 3500 requests
Completed 4000 requests
Completed 4500 requests
Completed 5000 requests
Finished 5000 requests
Server Software: nginx
Server Hostname: *******.15
Server Port: 80
Document Path: /
Document Length: 1051 bytes
Concurrency Level: 50
Time taken for tests: 2.231 seconds
Complete requests: 5000
Failed requests: 0
Write errors: 0
Total transferred: 6560000 bytes
HTML transferred: 5255000 bytes
Requests per second: 2241.37 [#/sec] (mean)
Time per request: 22.308 [ms] (mean)
Time per request: 0.446 [ms] (mean, across all concurrent requests)
Transfer rate: 2871.75 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.8 0 9
Processing: 2 22 2.5 21 34
Waiting: 2 22 2.5 21 34
Total: 11 22 2.3 21 34
Percentage of the requests served within a certain time (ms)
50% 21
66% 22
75% 22
80% 25
90% 26
95% 27
98% 27
99% 28
100% 34 (longest request)
root@crm:~#
2 центос с панелью
3 убунта с панелью
вот хочу что бы было как на 1.
Re: Оптимизация производительности сервера
Для тестов нужно использовать одинаковые данные. Лучше всего установить чистый wordpress на все три сервера и проверить разнку. Что касается специфичных настроек, то их можно перенести с первого сервера на новый и если дело в них, то все будет работать так же быстро.
-
- Posts: 54
- Joined: Thu Dec 05, 2013 2:16 pm
Re: Оптимизация производительности сервера
а что порекомендуете проверить\перенести из настроек? какие сервисы?skid wrote:Для тестов нужно использовать одинаковые данные. Лучше всего установить чистый wordpress на все три сервера и проверить разнку. Что касается специфичных настроек, то их можно перенести с первого сервера на новый и если дело в них, то все будет работать так же быстро.
я сравнил конфиги на том, "шустром" сервере с дефолтными, при установке пакетов, сравнивал пхпюини, апач, мускул, нгинкс - ничего там не тюнилось, только прописаны сайты.....
Re: Оптимизация производительности сервера
Возможно там тюнились параметры всей системы. Если так, то настройки будут видны в /etc/sysctl.conf. Помимо этого, все важное вы уже перечислили.
-
- Posts: 54
- Joined: Thu Dec 05, 2013 2:16 pm
Re: Оптимизация производительности сервера
Смотреть глобальные конфиги перечисленных мною сервисов, по стандартным путям?