LAMP 編譯安裝 壓力測試

            LAMP 編譯安裝 壓力測試

安裝編譯

    CentOS673: 172.16.26.3 Apache httpd 2.4

    CentOS672:172.16.26.2 PHP-FPM 5.4

    CentOS675:172.16.26.5 Mariadb 5.5

A>. A:Apache,httpd

    #安裝編譯所需的軟件,庫,頭文件

    [CentOS673:~]yum install gcc libxml2-devel pcre pcre-devel gd

    #安裝 apr apr-util

    [CentOS673:apr-1.5.2] ./configure --prefix=/usr/local/apr

    [CentOS673:apr-1.5.2] make && make install

    [CentOS673:apr-util-1.5.2] ./configure --prefix=/usr/local/apr-util         --with-apr=/usr/local/apr

    [CentOS673:apr-1.5.2] make && make install

    #安裝 httpd

    [CentOS673:httpd-2.4.10] ./configure --prefix=/usr/local/apache             --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util             --enable-mod-shared=most --enable-mod-so --sysconfdir=/etc/httpd             --enable-mpms-shared=all --with-mpm=prefork

    [CentOS673:apr-1.5.2] make && make install

    #文件配置

    #啓動 httpd

    [CentOS673:~]/usr/local/apache/bin/apachectl –k start

M>.M:mariadb

    #安裝所需軟件

    #Cmake 出錯時 remove 目錄下 CMakeCache.txt 後再 cmake

    [CentOS675:~]yum install cmake ncurses-devel

    [CentOS675:~]yum install Development\ Tools

    #安裝 mariadb

    [CentOS675:maridb-5.5]cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/maridb

    -DMYSQL_DATADIR=/data/maraidb

    [CentOS675:mariadb-5.5]make

    [CentOS675:mariadb-5.5]make install

    #useradd groupadd

    [CentOS675:~]groupadd -r -g 37 mysql; useradd -r -g mysql -u 37 mysql

    [CentOS675:mariadb-5.5]cd /usr/local/mariadb

    [CentOS675:mariadb]./scripts/mysql_install_db --datadir=/data/mariadb --user=mysql

    [CentOS675:mariadb]cp support-files/mysql.server /etc/init.d/mysqld

    #修/etc/init.d/mysqld datadir=/data/mariadb basedir=/usr/local/mariadb

    [CentOS675:mariadb]cp support-files/my-large.cnf /etc/my.cnf

    [CentOS675:~] chkconfig --add mysqld

    [CentOS675:~] service mysqld start

P>.P:PHP-FPM

    #安裝編譯所需的軟件,庫,頭文件

    [CentOS672:~]yum install libxml2-devel pcre pcre-devel libmcrypt-devel gd-devel     libjpegdevel libpng-devel

    #編譯安裝 php-fpm

    [CentOS672:php-5.4.40] ./configure --prefix=/usr/local/php --sysconfdir=/etc

    -with-config-file-path=/etc/php.ini --with-config-file-scan-dir=/etc/php.d         --enable-ftp --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir         --enable-mbstring --with-mcrypt --with-mysql --with-mysqli --enable-embedded-mysqli     --with-pdo-mysql --with-libxml-dir --enable-zip --enable-mysqlnd

    [CentOS672:php-5.4.40]make && make install

    [CentOS672:php-5.4.40] cp php.ini-production /etc/php.ini

    [CentOS672:php-5.4.40]mv /etc/php-fpm.conf.default /etc/php-fpm.conf

    #編譯安裝 xcache

    [CentOS672:xcache]/usr/local/php/phpize –clean

    [CentOS672:xcache]/usr/local/php/phpize

    [CentOS672:xcache]./configure --enable-xcache --enable-xcache-encoder

    --enable-xcache-decoder --with-php-config=/usr/local/php/bin/php-config

    --enable-xcache-disassembler

    [CentOS672:xcache]make && make install

    [CentOS672:xcache]mkdir /etc/php.d;cp xcache.ini /etc/php.d/

    #文件配置

    #啓動 php-fpm

    [CentOS672]/usr/local/php/sbin/php-fpm

壓力測試:

    ab -c $i -n $j $1 |sed -r -e '/^$/d' -e '/^[[:space:]]/d' |tail -n +5|head -16|tr -s " "|gawk -F: '{ printf("%s\t",$2)}END{print}'

    gawk -F "\t" '{for(i=1;i<NF;i++){split($i,a," "); b[i]=a[1]} for (j in b){printf("%s ",b[j])} printf("\n")}'

和之前測試結果對比:

1. Time Per Request VS

wKioL1eS21OShpK1AADC_V6Vt_8570.jpg-wh_50

wKiom1eS21fQFBn4AADMxyBZuI4493.jpg-wh_50

wKiom1eS21jgxi89AADPjh9DDE4139.jpg-wh_50

2. Failed Request Percent VS

wKioL1eS23eDsweFAADL7pur3lI849.jpg-wh_50

wKiom1eS23nDsEopAAE2vKfTQ48789.jpg-wh_50

wKioL1eS23yDvmR5AAG5WJXGcLs818.jpg-wh_50

Time Pre Request:

    RPM Allinone<RPM Separate<Source

Failed Request Percent:

    RPM Allinone<RPM Separate<Source

結論(以上數據來源於單機 VMware VM 實驗結果):

    1.單機上,RPM 安裝在一起效果更好

    2.編譯安裝的 Failed Request Percent 跳動較大,也許 RMP 參數設置較優

    3. RPM Allinone<RPM Separate 可能與網絡環境相關,不具備參考性


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章