久久精品国产99国产精品,农村大炕弄老女人,人马配速90分钟,香蕉成人伊视频在线观看

數據庫數量級提高怎么優(yōu)化 為什么php不適合做計算密集型業(yè)務?

為什么php不適合做計算密集型業(yè)務?PHP,即 "超文本預處理器 "是一種通用的開源腳本語言。PHP是一種在服務器端執(zhí)行的腳本語言,類似于C語言,是一種常用的網站編程語言。PHP的獨特語法是C、Jav

為什么php不適合做計算密集型業(yè)務?

PHP,即 "超文本預處理器 "是一種通用的開源腳本語言。PHP是一種在服務器端執(zhí)行的腳本語言,類似于C語言,是一種常用的網站編程語言。PHP的獨特語法是C、Java、Perl和PHP 自己的語法。有利于學習,應用廣泛,主要適用于Web開發(fā)領域。

1.優(yōu)點:開源、免費、快速【程序開發(fā)快、運行快、技術學習快】

1)跨平臺,性能優(yōu)越,與Linux/Unix結合時比與Windows結合時強45%,與許多免費平臺結合時非常經濟,如LAMP(Linux /Apache/Mysql/PHP)或FAMP(FreeBSD/Apache/Mysql/PHP),或者如果數據應用足夠大,可以考慮換成PostgreSQL或Oracle,支持N種數據庫。(編號10)

2)語法簡單,學C和Perl很容易,部分和ASP差不多。有成熟的開發(fā)工具,如NuPHPed、Zend Studio等。,而Eclipse可以在Linu臺下使用。

3)目前支持主流技術,如WebServic: : DB作為數據庫抽象層,用Smarty或者smart template作為模板層,如果是PHP 5.1就用PDO(PHP數據對象)訪問數據庫。

5)有很多成熟的框架,比如phpMVC,Prado,Cake等等,支持MVC,類似事件驅動的框架,像Ruby On Rails這樣的快速開發(fā)框架,足以滿足你的應用需求。

6)PHP 5有成熟的面向對象體系,可以適應基本的面向對象要求。適合開發(fā)大型項目。

7)有成熟的社區(qū)支持PHP的開發(fā)。

8)目前很多大型應用都使用PHP,比如淘寶、雅虎、163、新浪等大型門戶,很多都選擇PHP作為自己的開發(fā)語言,所以大型門戶都可以選擇,我覺得夠你用了。

9)有很多開源框架或者開源系統(tǒng)可以使用。比如大家熟知的開源框架有Zend Framework、CakePHP、CodeIgniter、symfony等。,開源論壇包括Discuz!、Phpwind等。、開源博客WordPress、開源網店系統(tǒng)如Ecshop、ShopEx等。開源SNS系統(tǒng)如UCHome、ThinkSNS等。

10)低成本(linux apache mysql php內核)

2.不足之處

1)函數命名不規(guī)范駝峰法和滑移線,傳遞參數的位置不一樣,大家都知道。

2)單線程;PHP本身一直是單進程程序;雖然php s pthreads擴展早已存在。但是不夠穩(wěn)定,運行起來會莫名其妙的掛掉;Php擴展都是用c寫的,也就是說任何一個有線程競爭資源控制問題的擴展都能讓整個一個死掉。

3)核心異步網絡不支持(當然linux中只有同步無阻塞網絡模型)。然而,缺乏這一點使得開發(fā)能夠承受大并發(fā)的網絡應用程序變得困難。傳統(tǒng)網絡模型和io都被阻塞。這個基本的編程實踐是一個進程(或線程)響應一個用戶鏈接請求。所以不可能像實時網游那樣完成需要上千個網絡連接的任務。雖然php也有Libevent和eio擴展在一定程度上彌補了這一點,但感覺不是那么完美。

4)只支持web開發(fā),制作不方便。exe文件、桌面應用程序和手機程序。

5)不適合做爬蟲,自動運行腳本和科學計算項目,這種語言的基本框架也不適合,雖然有很多實現。

6)后期維護困難。后期提速的空間有限。

在對PHP有了大致的了解之后,讓 讓我們理解為什么PHP很慢。

PHP的慢是相對于C/C級別語言而言的。事實上,PHP語言最初的設計并不是用來解決計算密集型的應用場景。我們大致可以理解為PHP為了提高開發(fā)效率而犧牲執(zhí)行效率。

我們知道PHP的一個很大的特點就是弱類型化,也就是我可以隨意定義一個變量,隨意賦給各種類型的數據。以int整數為例,在C語言中:

int num 200//通常是4個字節(jié)。

但是,如果PHP定義了相同的變量,實際對應的存儲結構是:

這個結構將比C變量占用更多的內存,C變量在PHP中定義如下:

200澳元;//這個變量實際上會比C變量多占用很多倍的存儲空間。

事實上,對于PHP來說,無論存儲什么類型的數據,都是通過上面提到的 "滅口 "結構。為了兼容PHP程序員 變量類型,PHP對開發(fā)者友好,但對執(zhí)行引擎殘酷。單個變量的內存消耗可能不明顯。一旦使用PHP數組,復雜度指數就會上升(數組的實現是HashTable)。然后,當Zend engine執(zhí)行時,它將這些PHP代碼編譯成操作碼(PHP中間字節(jié)碼,格式有點類似于匯編),由Zend引擎逐行解釋執(zhí)行。

無論是 字符串連接操作或數組的簡單修改。;幾乎是 amp的節(jié)奏PHP程序員的一句話和Zend engine "。所以PHP相對于C來說,同樣的操作消耗更多的CPU、內存等系統(tǒng)資源。另外還有內存自動回收,變量類型判斷等等,都會增加系統(tǒng)資源的消耗。

比如我用純PHP實現的快速排序函數和原生排序函數,對一萬個整數進行排序,進行耗時的比較。結果如下:

原生sort需要3.44 ms,而我們自己的PHP函數sort需要68.79 ms我們發(fā)現兩者的實現效率差距巨大。我的測試方法是計算函數執(zhí)行前后的時間間隔,而不是整個PHP腳本從開始到結束的時間。PHP腳本的啟動和關閉過程本身就有一系列的初始化和清理工作,也會占用大量的時間。

一般來說,PHP執(zhí)行效率的排名是:

最快的是PHP語言結構(isset,echo等。),PHP語言的一部分(它們根本不是函數)。

那么越快就是PHP的原生和擴展功能。PHP擴展,基于Zend API,用C實現的功能,執(zhí)行效率和C /Java屬于同一數量級。

什么?;真正慢的是我們通過PHP編寫自己的代碼和函數。比如我們用純PHP實現的比較重的框架,因為框架本身的模塊比較多,明顯會拖累語言層面的執(zhí)行效率,占用內存比較多。(國內的Yaf框架是用擴展的實現的,所以執(zhí)行效率比純PHP編寫的框架快很多。

一般來說,我們不。;不推薦用PHP實現邏輯復雜的計算類型的功能,尤其是在Web系統(tǒng)流量比較大的場景下。所以PHP程序員應該對PHP的各種原生函數和擴展有廣泛的了解,在具體的功能實現場景中尋求更多的原生解決方案(原生接口或擴展),而不是寫一堆復雜的PHP代碼來實現這類功能。

如果有足夠的PHP擴展開發(fā)實力,將這類業(yè)務功能改寫成PHP擴展也會大大提高代碼的執(zhí)行效率。這是一個非常好的方法,廣泛應用于PHP優(yōu)化。但是自己寫的PHP業(yè)務開發(fā)的缺點也很明顯:

擴展開發(fā)時間長,需求變化時修改復雜。寫的不好可能會影響Web服務的穩(wěn)定性。(比如Apache的worker模式,在多線程場景中掛起會影響到同一個進程中的其他正常子線程。如果是多線程Web模式,寫擴展也需要支持線程安全)

當擴展PHP版本升級時,您可以可能需要做額外的兼容工作。

后的維護和接管成本也比較高。

其實在互聯網一線企業(yè)中,比較常見的解決方案不是增加PHP的擴展,而是用C/C獨立編寫一個服務服務器,然后PHP通過sock

為什么頭條能存儲那么多視頻文字,幾億用戶,得多大存儲空間啊?

堆疊硬盤。算法對于節(jié)省空間,減少帶寬壓力非常重要。

首先,技術當然足夠強大!其次,你可能不理解的是,別人能處理這么多事情,為什么還能這么快呈現內容和內容的準確性!時效性!

根據我的理解,首先,并不缺少存儲用的硬盤生產。即使狂潮興起,企業(yè)幾乎沒有無法滿足的硬盤需求。所以數據中心能存儲這么多數據是沒有問題的。

也許你會說這么多人同時訪問硬盤速度不卡。那個 關于硬盤的讀寫速度。硬盤陣列做出來后,硬盤的讀寫速度可以疊加。所以要達到這個要求,只要硬盤陣列技術做好就沒有問題。

最后,你可能會問,這么多人上網怎么受得了?其實對于大型企業(yè)來說,服務器都是集群化的,也就是說一堆服務器在同事中運行。如果每臺服務器都能負責幾十萬人的并發(fā)訪問,只要增加足夠多的服務器,就能應對更大數量級的用戶群!

對于自己的眼光我只能回答這么多!希望能幫到你!

最不值錢的是存儲。看個人硬盤的價格。一個T要400元,兩個T要500多元,四個T要700多元。雖然專業(yè)存儲更貴,但道理是一樣的。存儲量越大,單價越低。

最有價值的是算法,分布式數據庫,分布式存儲,可以讓用戶秒開。

當然儲存量很大,但是分散在幾個中心,幾十萬噸起,但是這個錢和他們賺的錢比起來不算多。

因為錢

在,idc最貴的就是帶寬。

只要你有錢。

主站蜘蛛池模板: 红河县| 黄梅县| 嘉峪关市| 瑞安市| 嘉义县| 金秀| 贵定县| 望都县| 兴仁县| 辉南县| 斗六市| 合肥市| 扎囊县| 惠安县| 沅陵县| 新竹县| 五家渠市| 新晃| 万州区| 天峻县| 京山县| 锡林郭勒盟| 邓州市| 多伦县| 南阳市| 博湖县| 阳朔县| 博湖县| 金湖县| 贞丰县| 南投市| 江城| 余干县| 九江市| 海南省| 青岛市| 满洲里市| 高密市| 台南市| 佛山市| 清水河县|