<s id="qx03x"></s>
  • <tt id="qx03x"><noscript id="qx03x"></noscript></tt><rt id="qx03x"><nav id="qx03x"></nav></rt>

    <strong id="qx03x"><li id="qx03x"></li></strong>
    <tt id="qx03x"></tt>

        1. PHP 真正多線程的使用

          | |
          [不指定 2013-12-17 11:17 | by 張宴 ]
            PHP 5.3 以上版本,使用pthreads PHP擴展,可以使PHP真正地支持多線程。多線程在處理重復性的循環任務,能夠大大縮短程序執行時間。

            我之前的文章中說過,大多數網站的性能瓶頸不在PHP服務器上,因為它可以簡單地通過橫向增加服務器或CPU核數來輕松應對(對于各種云主機,增加VPS或CPU核數就更方便了,直接以備份鏡像增加VPS,連操作系統、環境都不用安裝配置),而是在于MySQL數據庫。如果用 MySQL 數據庫,一條聯合查詢的SQL,也許就可以處理完業務邏輯,但是,遇到大量并發請求,就歇菜了。如果用 NoSQL 數據庫,也許需要十次查詢,才能處理完同樣地業務邏輯,但每次查詢都比 MySQL 要快,十次循環NoSQL查詢也許比一次MySQL聯合查詢更快,應對幾萬次/秒的查詢完全沒問題。如果加上PHP多線程,通過十個線程同時查詢NoSQL,返回結果匯總輸出,速度就要更快了。我們實際的APP產品中,調用一個通過用戶喜好實時推薦商品的PHP接口,PHP需要對BigSea NoSQL數據庫發起500~1000次查詢,來實時算出用戶的個性喜好商品數據,PHP多線程的作用非常明顯。

            PHP擴展下載:https://github.com/krakjoe/pthreads
            PHP手冊文檔:http://php.net/manual/zh/book.pthreads.php

            1、擴展的編譯安裝(Linux),編輯參數 --enable-maintainer-zts 是必選項:
          cd /Data/tgz/php-5.5.1
          ./configure --prefix=/Data/apps/php --with-config-file-path=/Data/apps/php/etc --with-mysql=/Data/apps/mysql --with-mysqli=/Data/apps/mysql/bin/mysql_config --with-iconv-dir --with-freetype-dir=/Data/apps/libs --with-jpeg-dir=/Data/apps/libs --with-png-dir=/Data/apps/libs --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt=/Data/apps/libs --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-opcache --with-pdo-mysql --enable-maintainer-zts
          make clean
          make
          make install        

          unzip pthreads-master.zip
          cd pthreads-master
          /Data/apps/php/bin/phpize
          ./configure --with-php-config=/Data/apps/php/bin/php-config
          make
          make install


          vi /Data/apps/php/etc/php.ini

          添加:
          extension = "pthreads.so"


            2、給出一段PHP多線程、與For循環,抓取百度搜索頁面的PHP代碼示例:





          技術大類 » PHP/JS/Shell | 評論(135) | 引用(0) | 閱讀(343952)
          Simon Email
          2013-12-17 11:26
          學習了?。?!贊zan
          mcsrainbow
          2013-12-17 12:01
          贊?。?!
          levsion
          2013-12-17 12:45
          張師兄不錯啊,現在還在研究php啊
          啊跳
          2013-12-17 13:01
          終于搶到首頁了
          maple
          2013-12-17 13:23
          首頁了嗎?贊
          始終不夠 Homepage
          2013-12-17 13:52
          不穩定呢。有點雞肋。
          路人X
          2013-12-17 14:12
          line14 if(($url = $this->url))  比較值用==,恒等===
          webyxm Homepage
          2013-12-17 14:26
          贊?。?!學習了!
          risuns
          2013-12-17 14:30
          一直想找這個,學習了zan
          test
          2013-12-17 14:49
          grin哇!今天發布的???
          小蔥 Homepage
          2013-12-17 15:11
          贊,學習了.
          醬油哥
          2013-12-17 15:14
          envy搶個
          anono
          2013-12-17 15:48
          如果只是用多線程發起網絡通訊,原來張兄比較擅長的libevent是不是也可以
          張宴 回復于 2013-12-17 17:46
          網絡通訊是個示例,多線程用途很廣,網絡通訊只是其一。
          test
          2013-12-17 16:36
          學習了
          dodo
          2013-12-17 17:23
          回復 路人X 2013-12-17 14:12這個是賦值,不是判斷等于
          小碼農 Homepage
          2013-12-17 17:42
          學習下。謝謝了
          酷狗明 Email Homepage
          2013-12-18 09:42
          寫的很棒!寫的是真的很不錯!
          新一 Email Homepage
          2013-12-18 09:45
          grin用yaf的框架估計會更好點。
          fjeir Email
          2013-12-18 11:56
          這是說php也可以異步了嗎
          BigSea
          2013-12-18 17:18
          BigSea 有文檔出來了嗎
          分頁: 1/7 第一頁 1 2 3 4 5 6 7 下頁 最后頁
          發表評論
          表情
          emotemotemotemotemot
          emotemotemotemotemot
          emotemotemotemotemot
          emotemotemotemotemot
          emotemotemotemotemot
          打開HTML
          打開UBB
          打開表情
          隱藏
          記住我
          昵稱   密碼   游客無需密碼
          網址   電郵   [注冊]
                         

           
          在线精品国产在线视频