91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php服務緩存加速

發布時間:2020-06-04 19:34:54 來源:網絡 閱讀:518 作者:趙雁生 欄目:數據庫

PHP服務加速緩存優化

    PHP緩存原理:

        當客戶端請求一個PHP程序時,服務器的PHP引擎會解析改PHP程序,并將其編譯為特定的操作碼(Operate Code 簡稱 opcode),

    改文件是執行PHP代碼后的一種二進制表示形式。默認情況下,這個編譯好的操作碼文件由PHP引擎執行后丟棄。而操作碼緩存的原理:

    將編譯后的操作碼保存下來,并放到共享內存中,下一次調用PHP時重用。(節省了PHP引擎的編譯時間)

    LA(N)MP環境PHP緩存加速器的原理:

    1)apache(nginx)接收到客戶端的PHP程序訪問請求。

    2)apache(nginx)把程序傳遞給PHP處理模塊libphp5.so(php的FCGI--php-fpm)進程。

    3)PHP引擎(php-fpm進程)讀取磁盤上的PHP文件,并將器加載到內存中解析。

    4)PHP處理模塊libphp5.so(php解析器php.ini)將PHP源碼編譯成cpdode,把cpcode緩存起來。

    5)apache(nginx)接收到客戶端的請求后,PHP引擎直接讀取opcode文件。如果沒有找到則重復1-4步。建立緩存。

補充知識:

    locale 計算機軟件運行的語言環境:

        # locale

        LANG=en_US.UTF-8             

        LC_CTYPE="en_US.UTF-8"

        LC_NUMERIC="en_US.UTF-8"

        LC_TIME="en_US.UTF-8"

        LC_COLLATE="en_US.UTF-8"

        LC_MONETARY="en_US.UTF-8"

        LC_MESSAGES="en_US.UTF-8"

        LC_PAPER="en_US.UTF-8"

        LC_NAME="en_US.UTF-8"

        LC_ADDRESS="en_US.UTF-8"

        LC_TELEPHONE="en_US.UTF-8"

        LC_MEASUREMENT="en_US.UTF-8"

        LC_IDENTIFICATION="en_US.UTF-8"

        LC_ALL=


locale 把按照所涉及到的使用習慣的各個方面分成12 大類,這12 個大類分別是:


    語言符號及其分類(LC_CTYPE)

    數字(LC_NUMBERIC)

    比較習慣(LC_COLLATE)

    時間顯示格式(LC_TIME)

    貨幣單位(LC_MONETARY)

    信息主要是提示信息,錯誤信息,狀態信息,標題,標簽,按鈕和菜單等(LC_MESSAGES)

    行么書寫方式(LC_NAME)

    地址書寫方式(LC_ADDRESS)

    電話號碼書寫方式(LC_TELEPHONE)

    度量衡表達方式(LC_MEASUREMENT)

    默認紙張尺寸大小(LC_PAPER)

    對locale 自身包含信息的概述(LC_IDENTIFICATION)


而這些信息的配置通常放在/usr/share/i18n/locales 目錄下。

    部分軟件需求Perl.為了解決Perl的一些環境問題帶來錯誤。可以通過修改環境變量來避免。

     # echo 'export LC_ALL=C' >> /etc/profile

     # tail  -1 /etc/profile

     # source /etc/profile

    安裝Perl相關的軟件依賴包  # yum install perl-devel 或 # yum install perl-CPAN

    安裝 PHP XCache 緩存加速模塊

        X Cache 把PHP程序編譯后的數據(opcode)緩存到共享內存里,避免相同的程序重復編譯。

        用戶請求相同的PHP程序時,可以直接使用緩存中已編譯好的數據,提高訪問速度。

        # wget https://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.bz2 --no-check-certificate

        # tar jxvf xcache-3.2.0.tar.bz2

        # /application/php/bin/phpize 

    phpize 作用:用來擴展PHP擴展模塊的,通過phpize可以建立PHP的外掛模塊。

        提供軟件包平臺環境分析和編譯安裝的必須的工具。

        #./configure --enable-xcache --with-php-config=/application/php/bin/php-config 

        # make

        # make install

        # ll /application/php5.5.38/lib/php/extensions/no-debug-non-zts-20121212/

        看看是否含有 xcache.so 表明 安裝是否完成。

    安裝數據庫緩存及其它PHP擴展插件

        memcached緩存軟件:mem內存 cache緩存。d 即daemon(服務器端進程模式服務)

        memcached分2部分:服務器端(memcached)和客戶端(memcache)

    一般場景:數據存放在數據庫中, web訪問的時候,要不停的訪問數據庫。加入memcached好處:通過自身內存中緩存

    數據庫的查詢結果,減少數據庫的訪問次數,訪問內存比訪問硬盤效率要高。

    memcached的服務的工作步驟:

        1.先檢查memcached服務的緩存中是否存在。如果存在直接返回請求數據

        2.memcached不存在數據,訪問數據庫

        3.數據庫取出數據,返回給客戶端

        4.同時把新取到的數據緩存一份給memcached服務緩存。備用。

    memcache 客戶端PHP擴展插件(memcache2.2.7.tgz)

        # wget http://pecl.php.net/get/memcache-2.2.7.tgz

        # ./configure --enable-memcache --with-php-config=/application/php/bin/php-config

        # make

        # make install

        # ll /application/php5.5.38/lib/php/extensions/no-debug-non-zts-20121212/

        是否包含 memcache.so

    安裝:PDO_MYSQL擴展模塊

    下載地址:# wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz

    一般在編譯PHP的時候以參數的形式加入此模塊:--with-pdo-mysql=mysqlnd

    如果源碼包編譯安裝和前面的安裝無異(略步驟)

        平臺分析如下:

        # ./configure --with-php-config=/application/php/bin/php-config --with-pdo-mysql-mysql=/application/mysql

    安裝圖像處理程序及imagick 擴展模塊

        安裝圖像軟件:ImageMagick

        安裝imagick模塊

        # wget http://pecl.php.net/get/imagick-3.4.3.tgz

        # /application/php/bin/phpize

        # ./configure --with-php-config=/application/php/bin/php-config

    配置模塊生效:修改php.ini文件。把加載模塊的地址修改。

          extension_dir = "/application/php/lib/php/extensions/no-debug-non-zts-20121212"

          extension=memcache.so

          extension=imagick.so

    配置XCache 插件加速

        1.首先修改 xcache 自帶的配置文件  xcache.ini ,然后將修改的文件添加到 php.ini(引擎文件)文件的后面

        # grep -vE "^;|^$" /data/xcache-3.2.0/xcache.ini > xcache.ini.bak

        其中主要修改:一下參數

        xcache.size  =               256M 

        xcache.count =                 2  

        xcache.ttl   =                86400 

        xcache.gc_interval =          3600 

        xcache.var_size  =            64M   


        **** xcache.size   非0表示啟用緩存。后面的數值代表允許mmap(一種內存共享機制)的最大值

        xcache.count    官方推薦服務器CPU的個數   # grep -c processor /proc/cpuinfo(匹配CPU個數)

        xcache.ttl    ttl(time to live) 設定cache對象的生存期

        xcache.gc_interval      回收器掃描過期對象回收內存空間的時間間隔(如果設為0.則不回收,啟動緩存必須開啟回收)

        xcache.var_size        變量的緩存

        # cat xcache.ini.bak >> /application/php/lib/php.ini

        因為 XCache 使用共享內存作為存儲空間,如果有必要可以調整共享內存大小參數。

        # tail /etc/sysctl.conf 

        kernel.msgmnb = 65536


        # Controls the maximum size of a message, in bytes

        kernel.msgmax = 65536


        # Controls the maximum shared segment size, in bytes

        kernel.shmmax = 68719476736


        # Controls the maximum number of shared memory segments, in pages

        kernel.shmall = 4294967296

        2.重新啟動PHP查看xcache加載情況

        # pkill php-fpm

        # /application/php/sbin/php-fpm 

        # /application/php/bin/php -v

        PHP 5.5.38 (cli) (built: Feb  1 2017 22:43:58) 

        Copyright (c) 1997-2015 The PHP Group

        Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies

            with XCache v3.2.0, Copyright (c) 2005-2014, by mOo

            with XCache Cacher v3.2.0, Copyright (c) 2005-2014, by mOo

        3.配置web界面的查看xcache緩存加速信息。

            修改php.ini 文件中的

            xcache.admin.user = "mOo"    #把mOo 替換

            xcache.admin.pass = "md5 encrypted password"

            # 這里是利用md5算法生成加密串

            例如: 

            # echo -n '123456' | md5sum

            e10adc3949ba59abbe56e057f20f883e  -

            將內容替換成e10adc3949ba59abbe56e057f20f883e

php服務緩存加速

            引用xcache相關的頁面;

            # cd /data/xcache-3.2.0

            # cp -a ./htdocs/ /application/nginx/html/blog/xadmin

            #  chown -R nginx.nginx /application/nginx/html/blog/xadmin

            # pkill php-fpm

            # /application/php/sbin/php-fpm 


    下面附上 :壓測效果對比:(昨天為沒有加入xcache緩存的數據,右邊為加入xcache緩存效果)

php服務緩存加速

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黑龙江省| 边坝县| 芒康县| 泰兴市| 玉田县| 神木县| 东阳市| 仙居县| 梓潼县| 教育| 沅江市| 深水埗区| 万荣县| 安泽县| 临城县| 乐亭县| 抚顺市| 房产| 永仁县| 潼关县| 三穗县| 枝江市| 南城县| 葫芦岛市| 舞阳县| 华阴市| 舒兰市| 普格县| 遂平县| 永靖县| 凉城县| 姜堰市| 重庆市| 河北省| 青田县| 庆云县| 湘阴县| 定边县| 织金县| 武陟县| 翁源县|