ວິທີການກວດສອບ Apache Web Server Load ແລະສະຖິຕິຂອງ ໜ້າ ເວັບ


ໃນບົດຂຽນນີ້, ທ່ານຈະໄດ້ຮຽນຮູ້ວິທີການກວດສອບການໂຫຼດຂອງເວັບເຊີຟເວີຂອງ Apache ແລະການຮ້ອງຂໍໂດຍໃຊ້ໂມດູນ mod_status ໃນການແຈກຈ່າຍ Linux ຂອງທ່ານເຊັ່ນ CentOS, RHEL, ແລະ Fedora.

mod_status ແມ່ນຫຍັງ?

mod_status ແມ່ນໂມດູນ Apache ທີ່ຊ່ວຍໃນການກວດສອບການໂຫຼດເວັບເຊີເວີ້ແລະການເຊື່ອມຕໍ່ httpd ປັດຈຸບັນກັບອິນເຕີເຟດ HTML ທີ່ສາມາດເຂົ້າເຖິງຜ່ານຕົວທ່ອງເວັບໄດ້.

mod_status ຂອງ Apache ສະແດງໃຫ້ເຫັນ ໜ້າ HTML ທຳ ມະດາທີ່ມີຂໍ້ມູນກ່ຽວກັບສະຖິຕິປັດຈຸບັນຂອງ web ຂອງຜູ້ ນຳ ໃຊ້ລວມທັງ.

  • ຈຳ ນວນ ຄຳ ຮ້ອງຂໍເຂົ້າມາທັງ ໝົດ
  • ຈຳ ນວນໄບຕີ້ແລະ ຈຳ ນວນເຄື່ອງແມ່ຂ່າຍ
  • ການໃຊ້ CPU ຂອງ Webserver
  • Load Server
  • Server Uptime
  • ການຈາລະຈອນທັງ ໝົດ
  • ຈຳ ນວນແຮງງານທັງ ໝົດ ທີ່ບໍ່ເຮັດວຽກ
  • PIDs ກັບລູກຄ້າທີ່ກ່ຽວຂ້ອງແລະອີກຫຼາຍໆຢ່າງ.

ໂຄງການ Apache ໃນຕອນຕົ້ນເຮັດໃຫ້ ໜ້າ ສະຖິຕິຂອງເຊີບເວີຂອງພວກເຂົາສາທາລະນະທົ່ວໄປ. ເພື່ອມີການສາທິດການສະແດງ ໜ້າ ເວບໄຊທ໌ຂອງເວບໄຊທ໌ທີ່ຫຍຸ້ງຍາກ, ໃຫ້ເຂົ້າເບິ່ງ.

  • https://status.apache.org/

ພວກເຮົາໄດ້ ນຳ ໃຊ້ສະພາບແວດລ້ອມການທົດສອບຕໍ່ໄປນີ້ ສຳ ລັບບົດຂຽນນີ້ເພື່ອຄົ້ນຫາເພີ່ມເຕີມກ່ຽວກັບ mod_status ດ້ວຍບາງຕົວຢ່າງທີ່ໃຊ້ໄດ້ແລະການສະແດງພາບ ໜ້າ ຈໍ.

<

  • ລະບົບປະຕິບັດການ - CentOS 8/7
  • ການສະ ໝັກ - Apache Web Server
  • ທີ່ຢູ່ IP - 5.175.142.66
  • DocumentRoot -/var/www/html
  • ເອກະສານການຕັ້ງຄ່າ Apache - /etc/httpd/conf/httpd.conf
  • Port HTTP Default - 80 TCP
  • ການຕັ້ງຄ່າການຕັ້ງຄ່າທົດສອບ - httpd -t
  • ເງື່ອນໄຂເບື້ອງຕົ້ນ ສຳ ລັບບົດແນະ ນຳ ນີ້ແມ່ນທ່ານຄວນຮູ້ກ່ຽວກັບວິທີຕິດຕັ້ງແລະ ກຳ ຫນົດຄ່າ Server Basic Apache. ຖ້າທ່ານບໍ່ຮູ້ວິທີຕັ້ງຄ່າ Apache, ໃຫ້ອ່ານບົດຄວາມຕໍ່ໄປນີ້ທີ່ອາດຈະຊ່ວຍທ່ານໃນການຕັ້ງຄ່າ Apache Web Server ຂອງທ່ານເອງ.

    <

  • ສ້າງ Webserver ຂອງທ່ານເອງແລະເປັນເຈົ້າພາບເວບໄຊທ໌ໃນ Linux
  • ວິທີການເປີດໃຊ້ mod_status ໃນ Apache

    ການຕິດຕັ້ງ Apache ໃນຕອນຕົ້ນມາພ້ອມກັບ mod_status ເປີດໃຊ້ງານ. ຖ້າບໍ່, ໃຫ້ແນ່ໃຈວ່າເປີດໃຊ້ງານໃນເອກະສານການຕັ້ງຄ່າ Apache.

     vi /etc/httpd/conf/httpd.conf

    ຄົ້ນຫາ ສຳ ລັບ ຄຳ ວ່າ "mod_status" ຫຼືສືບຕໍ່ເລື່ອນລົງຈົນກວ່າທ່ານຈະພົບເສັ້ນທີ່ບັນຈຸ.

    #LoadModule status_module modules/mod_status.so

    ຖ້າທ່ານເຫັນລັກສະນະ“ # 'ໃນຕອນເລີ່ມຕົ້ນຂອງ“ LoadModule”, ນັ້ນ ໝາຍ ຄວາມວ່າ mod_status ຖືກປິດໃຊ້ງານ. ເອົາ '#' ເພື່ອເປີດໃຊ້ mod_status.

    LoadModule status_module modules/mod_status.so

    ດຽວນີ້ຊອກຫາ ຄຳ ວ່າ "ສະຖານທີ່" ຫລືເລື່ອນລົງໄປຈົນກວ່າທ່ານຈະພົບເຫັນສ່ວນ ສຳ ລັບ mod_status ເຊິ່ງຄວນຈະເປັນດັ່ງຕໍ່ໄປນີ້.

    # Allow server status reports generated by mod_status,
    # with the URL of http://servername/server-status
    # Change the ".example.com" to match your domain to enable.
    #
    #<Location /server-status>
    #    SetHandler server-status
    #    Order deny,allow
    #    Deny from all
    #    Allow from .example.com
    #</Location>

    ໃນພາກສ່ວນຂ້າງເທິງນີ້, ແບ່ງສາຍ ສຳ ລັບ ຄຳ ແນະ ນຳ ກ່ຽວກັບສະຖານທີ່, SetHandler, ແລະຂໍ້ ຈຳ ກັດຂອງການ ນຳ ໃຊ້ຕາມຄວາມຕ້ອງການຂອງທ່ານ. ຕົວຢ່າງ, ຂ້ອຍ ກຳ ລັງເຮັດມັນງ່າຍໆດ້ວຍ ຄຳ ສັ່ງ Order Allow, ປະຕິເສດແລະມັນຖືກອະນຸຍາດ ສຳ ລັບທຸກຄົນ.

    <Location /server-status>
       SetHandler server-status
       Order allow,deny
       Deny from all
       Allow from all 
    </Location>

    ໝາຍ ເຫດ: ການຕັ້ງຄ່າຂ້າງເທິງແມ່ນການ ກຳ ນົດຄ່າ ສຳ ລັບເວບໄຊທ໌ Apache ໃນເບື້ອງຕົ້ນ (ເວບໄຊທ໌ດຽວ). ຖ້າທ່ານໄດ້ສ້າງ ໜຶ່ງ ຫລືຫຼາຍ Apache Apache Hosts, ການຕັ້ງຄ່າຂ້າງເທິງຈະບໍ່ເຮັດວຽກ.

    ດັ່ງນັ້ນ, ໂດຍພື້ນຖານແລ້ວ, ທ່ານ ຈຳ ເປັນຕ້ອງ ກຳ ນົດການຕັ້ງຄ່າດຽວກັນ ສຳ ລັບແຕ່ລະໂຮດເສມືນ ສຳ ລັບໂດເມນໃດໆທີ່ທ່ານຕັ້ງຄ່າໄວ້ໃນ Apache. ຕົວຢ່າງ, ການຕັ້ງຄ່າໂຮດຕິ້ງເສມືນສໍາລັບ mod_status ຈະມີລັກສະນະແບບນີ້.

    <VirtualHost *:80>
        ServerAdmin [email 
        DocumentRoot /var/www/html/example.com
        ServerName example.com
        ErrorLog logs/example.com-error_log
        CustomLog logs/example.com-access_log common
    <Location /server-status>
       SetHandler server-status
       Order allow,deny
       Deny from all
       Allow from example.com 
    </Location>
    </VirtualHost>

    ການຕັ້ງຄ່າ“ ExtendedStatus” ເພີ່ມຂໍ້ມູນເພີ່ມເຕີມເຂົ້າໃນ ໜ້າ ສະຖິຕິເຊັ່ນ: ການໃຊ້ CPU, ການຮ້ອງຂໍຕໍ່ວິນາທີ, ການຈາລະຈອນທັງ ໝົດ, ແລະອື່ນໆ. ສະຖານະພາບ“ ສຳ ລັບ” ສຳ ລັບ ຄຳ ແນະ ນຳ ຂອງ ExtendedStatus.

    # ExtendedStatus controls whether Apache will generate "full" status
    # information (ExtendedStatus On) or just basic information (ExtendedStatus
    # Off) when the "server-status" handler is called. The default is Off.
    #
    ExtendedStatus On

    ຕອນນີ້ໃຫ້ແນ່ໃຈວ່າທ່ານໄດ້ເປີດໃຊ້ແລະຕັ້ງຄ່າ ໜ້າ ສະຖານະຂອງເຊີຟເວີ Apache ຢ່າງຖືກຕ້ອງ. ທ່ານຍັງສາມາດກວດສອບຂໍ້ຜິດພາດຕ່າງໆໃນການຕັ້ງຄ່າ httpd.conf ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

     httpd -t
    
    Syntax OK

    ເມື່ອໃດທີ່ທ່ານໄດ້ຮັບ syntax ແລ້ວແມ່ນບໍ່ຖືກຕ້ອງ, ທ່ານສາມາດເລີ່ມຕົ້ນບໍລິການ httpd.

     service httpd restart
    OR
     systemctl restart httpd
    Stopping httpd:                                          [  OK  ]
    Starting httpd:                                          [  OK  ]

    ໜ້າ ສະຖານະພາບຂອງ Apache ຈະສາມາດເຂົ້າເຖິງໄດ້ຜ່ານຊື່ໂດເມນຂອງທ່ານດ້ວຍ“/server-status” ທີ່ຢູ່ URL ຕໍ່ໄປນີ້.

    http://serveripaddress/server-status
    
    OR
    
    http://serev-hostname/server-status

    ທ່ານຈະເຫັນສິ່ງທີ່ຄ້າຍຄືກັບ ໜ້າ ຕໍ່ໄປນີ້ດ້ວຍ ExtendedStatus ເປີດໃຊ້ງານ.

    ໃນພາບບັນທຶກຂ້າງເທິງ, ທ່ານສາມາດເຫັນໄດ້ວ່າອິນເຕີເຟດ HTML, ເຊິ່ງສະແດງຂໍ້ມູນທັງ ໝົດ ກ່ຽວກັບເວລາຂອງເຄື່ອງແມ່ຂ່າຍ, ດຳ ເນີນຂັ້ນຕອນກັບລູກຄ້າທີ່ກ່ຽວຂ້ອງ, ໜ້າ ທີ່ພວກເຂົາພະຍາຍາມເຂົ້າເຖິງ.

    ມັນຍັງສະແດງໃຫ້ເຫັນຄວາມ ໝາຍ ແລະການໃຊ້ຕົວຫຍໍ້ທັງ ໝົດ ທີ່ໃຊ້ເພື່ອສະແດງສະຖານະພາບເຊິ່ງຊ່ວຍໃຫ້ພວກເຮົາເຂົ້າໃຈສະຖານະການໄດ້ດີຂື້ນ.

    ທ່ານຍັງສາມາດໂຫຼດ ໜ້າ ຈໍ ໃໝ່ ທຸກໆຄັ້ງໃນວິນາທີ (ເວົ້າ 5 ວິນາທີ) ເພື່ອເບິ່ງສະຖິຕິທີ່ຖືກປັບປຸງ. ເພື່ອຕັ້ງຄ່າການໂຫຼດຫນ້າຈໍຄືນແບບອັດຕະໂນມັດ, ກະລຸນາຕື່ມ“? refresh = N” ໃນຕອນທ້າຍຂອງ URL. ບ່ອນທີ່ N ສາມາດທົດແທນດ້ວຍ ຈຳ ນວນວິນາທີທີ່ທ່ານຕ້ອງການໃຫ້ ໜ້າ ເວັບຂອງທ່ານສົດຊື່ນ.

    http://serveripaddress/server-status/?refresh=5

    ທ່ານຍັງສາມາດເບິ່ງ ໜ້າ ສະຖານະພາບ Apache ຈາກອິນເຕີເຟດເສັ້ນ ຄຳ ສັ່ງໂດຍໃຊ້ໂປແກຼມທ່ອງເວັບທີ່ມີ ຄຳ ສັ່ງພິເສດທີ່ມີຊື່ວ່າ links ຫຼື lynx ທ່ານສາມາດຕິດຕັ້ງພວກມັນໂດຍໃຊ້ຊຸດປະ ຈຳ ຕົວຜູ້ຈັດການຊຸດທີ່ເອີ້ນວ່າ yum ດັ່ງທີ່ສະແດງຢູ່ທາງລຸ່ມ.

    # yum install links
    
    OR
    
    # yum install lynx

    ເມື່ອໃດທີ່ທ່ານໄດ້ຕິດຕັ້ງ, ທ່ານສາມາດໄດ້ຮັບສະຖິຕິດຽວກັນຢູ່ປາຍຍອດຂອງທ່ານໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

     links http://serveripaddress/server-status
    OR
     lynx http://serveripaddress/server-status
    OR
      /etc/init.d/httpd fullstatus
                         Apache Server Status for localhost
       Server Version: Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3
       Server Built: Aug 13 2013 17:29:28
    
       --------------------------------------------------------------------------
       Current Time: Tuesday, 14-Jan-2014 04:34:13 EST
       Restart Time: Tuesday, 14-Jan-2014 00:33:05 EST
       Parent Server Generation: 0
       Server uptime: 4 hours 1 minute 7 seconds
       Total accesses: 2748 - Total Traffic: 9.6 MB
       CPU Usage: u.9 s1.06 cu0 cs0 - .0135% CPU load
       .19 requests/sec - 695 B/second - 3658 B/request
       1 requests currently being processed, 4 idle workers
     .__.__W...
    
       Scoreboard Key:
       "_" Waiting for Connection, "S" Starting up, "R" Reading Request,
       "W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
       "C" Closing connection, "L" Logging, "G" Gracefully finishing,
       "I" Idle cleanup of a worker, "." Open slot with no current process
    
    Srv PID     Acc    M CPU   SS  Req Conn Child Slot     Client        VHost             Request
    0-0 -    0/0/428   . 0.30 5572 0   0.0  0.00  1.34 127.0.0.1      5.175.142.66 OPTIONS * HTTP/1.0
                                                                                   GET
    1-0 5606 0/639/639 _ 0.46 4    0   0.0  2.18  2.18 115.113.134.14 5.175.142.66 /server-status?refresh=5
                                                                                   HTTP/1.1
                                                                                   GET
    2-0 5607 0/603/603 _ 0.43 0    0   0.0  2.09  2.09 115.113.134.14 5.175.142.66 /server-status?refresh=5
                                                                                   HTTP/1.1
    3-0 -    0/0/337   . 0.23 5573 0   0.0  0.00  1.09 127.0.0.1      5.175.142.66 OPTIONS * HTTP/1.0
                                                                                   GET
    4-0 5701 0/317/317 _ 0.23 9    0   0.0  1.21  1.21 115.113.134.14 5.175.142.66 /server-status?refresh=5
                                                                                   HTTP/1.1
                                                                                   GET
    5-0 5708 0/212/213 _ 0.15 6    0   0.0  0.85  0.85 115.113.134.14 5.175.142.66 /server-status?refresh=5
                                                                                   HTTP/1.1
    6-0 5709 0/210/210 W 0.16 0    0   0.0  0.84  0.84 127.0.0.1      5.175.142.66 GET /server-status
                                                                                   HTTP/1.1
    7-0 -    0/0/1     . 0.00 5574 0   0.0  0.00  0.00 127.0.0.1      5.175.142.66 OPTIONS * HTTP/1.0
    
       --------------------------------------------------------------------------
    
        Srv  Child Server number - generation
        PID  OS process ID
        Acc  Number of accesses this connection / this child / this slot
         M   Mode of operation
        CPU  CPU usage, number of seconds
        SS   Seconds since the beginning of the most recent request
        Req  Milliseconds required to process most recent request
       Conn  Kilobytes transferred this connection
       Child Megabytes transferred this child
       Slot  Total megabytes transferred this slot
       --------------------------------------------------------------------------
    
        Apache/2.2.15 (CentOS) Server at localhost Port 80

    ສະຫຼຸບ

    ໂມດູນ mod_status ຂອງ Apache ແມ່ນເຄື່ອງມືຕິດຕາມກວດກາທີ່ມີປະສິດຕິພາບສູງໃນການຕິດຕາມກວດກາປະສິດທິພາບຂອງກິດຈະ ກຳ ຂອງເຊີຟເວີເວັບແລະສາມາດຊີ້ໃຫ້ເຫັນບັນຫາຂອງມັນເອງ. ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມໃຫ້ອ່ານ ໜ້າ ສະຖານະພາບທີ່ສາມາດຊ່ວຍທ່ານໃຫ້ກາຍເປັນຜູ້ບໍລິຫານເວບໄຊທ໌ທີ່ປະສົບຜົນ ສຳ ເລັດກວ່າເກົ່າ.

    <

  • ເວັບໄຊທ໌ Apache mod_status
  • ທັງ ໝົດ ນີ້ແມ່ນ ສຳ ລັບ mod_status ສຳ ລັບດຽວນີ້, ພວກເຮົາຈະມີເຄັດລັບແລະ ຄຳ ແນະ ນຳ ເພີ່ມເຕີມກ່ຽວກັບ Apache ໃນການແນະ ນຳ ໃນອະນາຄົດ. ຈົນກ່ວາ Geeky ຢູ່ແລະຕິດຕາມກັບ linux-console.net ແລະຢ່າລືມເພີ່ມ ຄຳ ເຫັນທີ່ມີຄຸນຄ່າຂອງທ່ານ.