成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

nginx+php-fpm負(fù)載均衡和性能測(cè)試

Shonim / 1040人閱讀

摘要:進(jìn)程數(shù)的配置會(huì)奏效會(huì)自動(dòng)增加數(shù)但是性能提升效果并不明顯然而的并沒(méi)奏效,仍然只有一個(gè)通過(guò)手動(dòng)增加配置發(fā)現(xiàn)有所提升但效果很不明顯。于是我更改了的配置改為再次結(jié)果能達(dá)到左右差不多翻倍了結(jié)論性能問(wèn)題并不那么容易解決需要耐心的排查原因

一直知道nginx本身能進(jìn)行負(fù)載均衡,但沒(méi)有測(cè)試過(guò),今天實(shí)驗(yàn)了下,以下是筆記記錄

0.準(zhǔn)備工作

vagrant+centos6.7 vbox

1.搭建和配置

規(guī)劃3臺(tái)web服務(wù)器,做負(fù)載均衡,由于之前已經(jīng)有一臺(tái)虛擬機(jī),因此我現(xiàn)在增加2臺(tái).

依次進(jìn)行以下操作

1.E盤(pán)建立一個(gè)servers目錄初始化vagrant init

2.配置文件vagrantfile,增加了2臺(tái)虛擬機(jī)分別在192.168.33.11,192.168.33.12與之前的192.168.33.10組成3臺(tái)集群

Vagrant.configure(2) do |config|
  config.vm.define "web_1" do |web_1|
    web_1.vm.box = "centos67"
    web_1.vm.network "private_network", ip: "192.168.33.11"
  web_1.vm.provider "virtualbox" do |v|
    v.memory = "1024"
  end
  end
   
  config.vm.define "web_2" do |web_2|
    web_2.vm.box = "centos67"
    web_2.vm.network "private_network", ip: "192.168.33.12"
  web_2.vm.provider "virtualbox" do |v|
    v.memory = "1024"
  end
  end
end

3.為新增的2臺(tái)服務(wù)器安裝php和一些必要的軟件,為了提高效率,隨意寫(xiě)了個(gè)腳本2臺(tái)機(jī)器上運(yùn)行

yum install -y gcc vim
su -c "rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm"
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
yum install -y nginx
yum install -y php71w-* --skip-broken

groupadd dev
useradd -s /bin/bash -g dev vison

本實(shí)驗(yàn)中web_1和web_2 2臺(tái)服務(wù)器其實(shí)只用到php-fpm,之前的一臺(tái)host_1(192.168.33.10)會(huì)用到nginx和php-fpm

4.配置web_1和web_2的php-fpm 的www.conf配置文件

主要涉及到的配置是listen 和 listen.allowed_clients
前者表示php-fpm 監(jiān)聽(tīng)的ip 和端口,由于要讓host_1的nginx反向代理到,所以應(yīng)該使用局域網(wǎng)ip,而不是默認(rèn)的127.0.0.1.

#192.168.33.11的www.conf
listen = 192.168.33.11:9000
listen.allowed_clients = 192.168.33.10

#192.168.33.11的www.conf
listen = 192.168.33.12:9000
listen.allowed_clients = 192.168.33.10

配置好后注意重載配置 service php-fpm reload

5.配置host_1 的nginx 進(jìn)行負(fù)載均衡

    #nginx.conf
    #配置均衡日志 可以看到具體代理到了哪臺(tái)機(jī)器的fpm
     log_format upstreamlog "[$time_local] $remote_addr - $remote_user - $server_name  to: $upstream_addr: $request upstream_response_time $upstream_response_time msec $msec request_time $request_time";

    access_log  /var/log/nginx/$host.access.log  upstreamlog;
    upstream php-fpm-backend {
        #輪叫調(diào)度(Round-RobinScheduling)模式
        server 127.0.0.1:9000;
        server 192.168.33.11:9000;
        server 192.168.33.12:9000;
    }
    #test-dev.conf  vhost 配置
    server_name  test.dev;
    root         /home/vison/www/demaya/webroot;

    location ~ .php$ {
            fastcgi_pass   php-fpm-backend;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
    }

6.同步php文件

由于不同的fpm都會(huì)找本機(jī)的root目錄即之前配置的/home/vison/www/demaya/webroot,所以需在192.168.33.10-12 3臺(tái)機(jī)器上都有相同的代碼. 為了方便測(cè)試,我這里故意更改了3臺(tái)機(jī)器的index.php文件代碼.host_1 輸出hello,host_1,web_1輸出hello,web_1依次類推。

2.測(cè)試

瀏覽器訪問(wèn)test.dev

結(jié)果:

第一次 hello,host_1

第二次 hello,web_1

第三次 hello,web_2

...依次

說(shuō)明:nginx已經(jīng)按照輪流模式代理到了host_1 web_1 web_2,查看host_1的access.log也同樣會(huì)發(fā)現(xiàn)

3.性能測(cè)試

多臺(tái)服務(wù)器代理就一定會(huì)提升性能嗎?

筆者用ab在負(fù)載均衡之前和之后都測(cè)試過(guò),答案卻是否定的

在多服務(wù)器之前,單核cpu 1G內(nèi)存 nginx和php-fpm 都按默認(rèn)配置RPS能達(dá)到900+,然而增加了2臺(tái)同樣配置的虛擬機(jī)代理卻只能達(dá)到800+了。
php-fpm 進(jìn)程數(shù)auto的配置會(huì)奏效,會(huì)自動(dòng)增加php-fpm數(shù).但是性能提升效果并不明顯,然而nginx 的auto 并沒(méi)奏效,仍然只有一個(gè).通過(guò)手動(dòng)增加nginx配置,發(fā)現(xiàn)rps有所提升,但效果很不明顯。

運(yùn)用vmstat查看分析性能瓶頸時(shí),感覺(jué)上是CPU上到了瓶頸,vmstat顯示r挺多說(shuō)明CPU處理不過(guò)來(lái)。于是我更改了host_1的cpus 配置改為2.再次ab,結(jié)果RPS能達(dá)到1500左右,差不多翻倍了!

4.結(jié)論

性能問(wèn)題并不那么容易解決,需要耐心的排查原因.

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/23309.html

相關(guān)文章

  • nginx+php-fpm負(fù)載均衡性能測(cè)試

    摘要:進(jìn)程數(shù)的配置會(huì)奏效會(huì)自動(dòng)增加數(shù)但是性能提升效果并不明顯然而的并沒(méi)奏效,仍然只有一個(gè)通過(guò)手動(dòng)增加配置發(fā)現(xiàn)有所提升但效果很不明顯。于是我更改了的配置改為再次結(jié)果能達(dá)到左右差不多翻倍了結(jié)論性能問(wèn)題并不那么容易解決需要耐心的排查原因 一直知道nginx本身能進(jìn)行負(fù)載均衡,但沒(méi)有測(cè)試過(guò),今天實(shí)驗(yàn)了下,以下是筆記記錄 showImg(https://segmentfault.com/img/rem...

    xioqua 評(píng)論0 收藏0
  • PHP-FPM,Nginx,FastCGI 之間的關(guān)系

    摘要:本文介紹三者之間的關(guān)系,以及反向代理和負(fù)載均衡的配置。先使用負(fù)載均衡模塊找到一臺(tái)主機(jī),再使用模塊實(shí)現(xiàn)與這臺(tái)主機(jī)的交互。負(fù)載均衡配置該例定義了一個(gè)的負(fù)載均衡配置,通過(guò)反向代理指令應(yīng)用這個(gè)配置。 本文介紹 PHP-FPM,Nginx,FastCGI 三者之間的關(guān)系,以及 Nginx 反向代理和負(fù)載均衡的配置。 PHP-FPM,Nginx,FastCGI 之間的關(guān)系 FastCGI 是一個(gè)協(xié)...

    sumory 評(píng)論0 收藏0
  • nginx安裝配置|nginx負(fù)載均衡|nginx反向代理|gzip壓縮|expires緩存

    摘要:是一款輕量級(jí)的服務(wù)器反向代理服務(wù)器及電子郵件代理服務(wù)器,并在一個(gè)協(xié)議下發(fā)行。是以反向代理的方式進(jìn)行負(fù)載均衡的。 Nginx是一款輕量級(jí)的Web 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,并在一個(gè)BSD-like 協(xié)議下發(fā)行。由俄羅斯的程序設(shè)計(jì)師Igor Sysoev所開(kāi)發(fā),供俄國(guó)大型的入口網(wǎng)站及搜索引擎Rambler(俄文:Рамблер)使用。其特點(diǎn)是占有內(nèi)存...

    pkhope 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<