亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

怎么在PHP中利用hidef擴展提高性能

發布時間:2020-12-18 16:10:25 來源:億速云 閱讀:158 作者:Leah 欄目:開發技術

這篇文章給大家介紹怎么在PHP中利用hidef擴展提高性能,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

網站需要新加一個常量,打開了本地的config.php文件,想到了幾年前測試過的hidef以及apc提升define性能的方案。
我的程序中有對開發、測試、生產服務器分別做了不同的配置,在常量方面則使用了一個數組定義了所有需要定義的常量,然后檢測是否有apc_load_constants函數,沒有的話,批量define。使用apc時,每增加一個常量,還需要修改一下$key才能生效。

而現在測試、生產服務器php都升級到5.4后,opcode緩存就使用了Zend opcache,不再安裝APC。因為有用到apc user cache,因此額外裝了apcu,和apc用法一模樣,完全不用改程序。而apcu不支持apc_load_constants和apc_define_constants,因此apc這個方案就無法用了。去官網裝了最新版hidef 0.1.13,2012-7-12發布的stable,一年多了。

寫了個簡單程序測試define化的時間,大概運行1000次需要2.8ms。那么對于一個中型網站(例如一天php運行1000w次)來說,如果每頁定義25個常量,大概每天需要化 10000000*25/1000*2.8=700000ms,就是700秒。差不多使用hidef可以一天節省700s的PHP運行時間。
再看看讀的性能好了,測試讀1w次一個常量,值都是1,分別是37ms和0.7ms。那么如果一天1000w次,每頁平均使用20個常量,則需要740秒,而使用hidef是14秒,好吧,又一個700多秒。
一天省1400秒php運行時間,也許是還是微不足道,但總是好的,也是值的嘗試的,畢竟define的參數變化的機率非常少。
當define參數需要修改時,修改配置文件,然后重載下php-fpm,就好了。

hidef具體安裝方法參見:提高define性能的php擴展hidef的安裝和使用

在百度里搜索“hidef”,排第3位的是一個copy我博文的網站:( 而我自己發布的提高define性能的php擴展hidef的安裝和使用在前三頁沒有找到。顯然是百度對原創的識別出了些偏差。

百度搜索“hidef php”,那個網址排第一,第二是官網,我的在第三。
gg搜索“hidef php”,第一官網,第3是另一篇原創,我的在第四。gg的識別就不錯!

360搜索"hidef php",第一那個copy站,第二我的,第三另一篇原創。
因此有了這篇的誕生,看看能不能幫第一篇排上去或者這篇排上去也行。


附原配置常量的程序示例代碼:

復制代碼 代碼如下:


  if (function_exists('apc_load_constants')) {
            function define_array($key, $arr, $case_sensitive = false) {
                if (!apc_load_constants($key, $case_sensitive)) {
                    apc_define_constants($key, $arr, $case_sensitive);
                }

            }
        } else {
            function define_array($key, $arr, $case_sensitive = false) {
                foreach ($arr as $name => $value) {
                    define($name, $value, $case_sensitive);
                }
            }
        }

        $constants = array(
            'HX'   => 1,
            'BLOG_URL'   => 'https://www.jb51.net/',
            'WWW_URL'   => 'https://www.jb51.net/',
        );

        define_array('hx_defined',$constants);


附測試define速度的代碼。

復制代碼 代碼如下:


<?php

$t1 = microtime(1);

    $constants = array(
        'hx1'       => 1,
        'hx2'       => '2',
        'hx3'       => '3',
        'hx4'       => '4',
        'hx5'       => '5',
        'hx6'       => '6',
        'hx7'       => '7',
        'hx8'       => '8',
        'hx9'       => '9',
        'hx10'       => '10',
    );

    function define_array($key, $arr) {
        foreach ($arr as $name => $value) {
            define($name.$i, $value);
        }
    }
   
    for($i=0;$i<100;$i++) {
        define_array($i,$constants);
    }
   
   
$t2 = microtime(1);
echo ($t2-$t1)*1000;

//讀性能
$t1 = microtime(1);
for($i=0;$i<10000;$i++) {
    $t = hx1;
}   
$t2 = microtime(1);
echo ' '.($t2-$t1)*1000;

$t1 = microtime(1);
for($i=0;$i<10000;$i++) {
    $t = HX;
}   
$t2 = microtime(1);
echo ' '.($t2-$t1)*1000;

關于怎么在PHP中利用hidef擴展提高性能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

米脂县| 进贤县| 孙吴县| 丹江口市| 建平县| 邮箱| 沂南县| 弥勒县| 富裕县| 封丘县| 砚山县| 抚宁县| 根河市| 平湖市| 金门县| 临桂县| 齐河县| 台州市| 肥东县| 濮阳县| 桐城市| 吉林省| 太白县| 武定县| 蒲江县| 长兴县| 永宁县| 邓州市| 昌平区| 平原县| 紫阳县| 莒南县| 台湾省| 濉溪县| 渝北区| 沿河| 乃东县| 呼伦贝尔市| 天长市| 防城港市| 扎囊县|