php7性能測試,PHP性能

本文目錄一覽:

php7調試怎麼在phpstorm中設置

在max上用phpstorm里debug調試php

背景

最近為了完成某個需求,在看`smarty`源碼,當我嘗試直接看,痛苦的快吐血,工欲善其事必先利器,雖然之前一直使用phpstorm調試nodejs,但是還沒有用phpstorm來debug過php。

建議

先看看這個:PhpStorm 8.0.2 Help :: Configuring Xdebug

## 安裝xdebug

1. 打開:Xdebug: Downloads 點擊source來下載源碼包

2. 然後安裝

“`bash

解壓tar包

tar -xzf xdebug-2.2.5.tgz

進入根目錄

cd xdebug-2.2.5

執行phpize

phpize

編譯安裝xdebug

./configure –enable-xdebug

make

make install

“`

配置到php

1. 打開php.ini文件

“`bash

cd /private/etc/

#默認沒有php.ini,需要拷貝一下

sudo cp php.ini.default php.ini

sudo vi php.ini

“`

2. 在下面加入

“`bash

[Xdebug]

zend_extension=”/usr/local/php_user/xdebug.so”

xdebug.remote_enable = on

;xdebug.remote_handler=dbgp

xdebug.remote_host=”127.0.0.1″

xdebug.remote_port=9000

xdebug.profiler_enable = 1

xdebug.profiler_enable_trigger = off

xdebug.profiler_output_name = cachegrind.out.%t.%p

xdebug.remote_autostart = on

“`

3. 重啟`apache`

“`bash

sudo apachectl restart

“`

4. 查看phpinfo()信息裡面搜索一下`debug`如果有,成功。

配置phpstorm

1. 打開phpstorm,進入頂部導航`phpstrom-perferences..`

2. 點擊`php`項,點擊`interpreter`後面的`…`按鈕

3. 點擊`php home`後面的刷新(`…`後面)按鈕

4. 這時候你將看到`Debugger: Not installed`變成`Xdebug 2.3.2`(版本號可能不同)

6. 進入`php`欄目下的`Server`,點擊`+`新建一個server:host填寫你本地的host(如127.0.0.1),點擊`apply`保存,並退出`perferences`對話框。

7. 點擊頂部導航`run`-點擊`+`-選擇`PHP Web Application`-選擇上一步新建的`server`,`start URL`填入,你要debug的php文件地址,下面會生成一個地址,這個地址在瀏覽器應該能正常瀏覽測試的;點擊`apply`進行保存。

開始愉快的使用

1. 在你要debug的文件行數字右側一列,點擊一下就會有一個斷點。

2. 點擊頂部導航`run`-debug,選擇你剛剛新建的`debug`名稱,這時候會彈出瀏覽器加載這個php文件了

php7與php5的區別

php5與php7之間的區別:

1、性能提升:PHP7比PHP5.0性能提升了兩倍。

2、以前的許多致命錯誤,現在改成拋出異常。

3、PHP 7.0比PHP5.0移除了一些老的不在支持的SAPI(服務器端應用編程端口)和擴展。

4、PHP 7.0比PHP5.0新增了空接合操作符。

5、PHP 7.0比PHP5.0新增加了結合比較運算符。

6、PHP 7.0比PHP5.0新增加了函數的返回類型聲明。

7、PHP 7.0比PHP5.0新增加了標量類型聲明。

8、PHP 7.0比PHP5.0新增加匿名類。

9、錯誤處理和64位支持

php寫的程序,進行性能測試,各項資源都正常,增加並發,tps不增長,響應時間增長,您覺得瓶頸在哪?

問題沒說清楚,也不好下定論啊,如果性能測試就壓100個用戶,在沒達到瓶頸的情況,各項指標應該都是平穩的,波動起伏不會太大,只有慢慢增加用戶,才會知道瓶頸所在隨着用戶的增加,下面各值會跟隨增加吞吐量,CPU,點擊率。。。等事務響應時間(這個系統一般沒達到極限是不變的)當事務響應時間開始明顯變長,說明系統達到了極限可以是CPU極限,可能是點擊率極限,可能是網絡極限。。。你繼續增加用戶了,響應時間變長,吞吐量點擊開始明顯下降,說明就到瓶頸了,然後在看是什麼地方的瓶頸如果單一的吞吐量上不去,也可能是用戶訪問不多,吞吐量當然上不去

鳥哥:讓php7達到最高性能的幾個tips

1. Opcache

記得啟用Zend Opcache, 因為PHP7即使不啟用Opcache速度也比PHP-5.6啟用了Opcache快, 所以之前測試時期就發生了有人一直沒有啟用Opcache的事情. 啟用Opcache非常簡單, 在php.ini配置文件中加入:

zend_extension=opcache.so

opcache.enable=1

opcache.enable_cli=1″

2. 使用新的編譯器

使用新一點的編譯器, 推薦GCC 4.8以上, 因為只有GCC 4.8以上PHP才會開啟Global Register for opline and execute_data支持, 這個會帶來5%左右的性能提升(Wordpres的QPS角度衡量)

其實GCC 4.8以前的版本也支持, 但是我們發現它支持的有Bug, 所以必須是4.8以上的版本才會開啟這個特性.

3. HugePage

前面文章介紹過

4. Opcache file cache

開啟Opcache File Cache(實驗性), 通過開啟這個, 我們可以讓Opcache把opcode緩存緩存到外部文件中, 對於一些腳本, 會有很明顯的性能提升.

在php.ini中加入:

opcache.file_cache=/tmp

這樣PHP就會在/tmp目錄下Cache一些Opcode的二進制導出文件, 可以跨PHP生命周期存在.

5. PGO

如果你的PHP是專門為一個項目服務, 比如只是為你的Wordpress, 或者drupal, 或者其他什麼, 那麼你就可以嘗試通過PGO, 來提升PHP, 專門為你的這個項目提高性能.

具體的, 以wordpress 4.1為優化場景.. 首先在編譯PHP的時候首先:

$ make prof-gen

然後用你的項目訓練PHP, 比如對於Wordpress:

$ sapi/cgi/php-cgi -T 100 /home/zk/local/www/htdocs/ wordpress/index.php /dev/null

也就是讓php-cgi跑100遍wordpress的首頁, 從而生成一些在這個過程中的profile信息.

最後:

$ make prof-clean$ make prof-use make install

這個時候你編譯得到的PHP7就是為你的項目量身打造的最高性能的編譯版本.

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/187912.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-28 06:25
下一篇 2024-11-28 06:25

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • 如何優化 Git 性能和重構

    本文將提供一些有用的提示和技巧來優化 Git 性能並重構代碼。Git 是一個非常流行的版本控制系統,但是在處理大型代碼倉庫時可能會有一些性能問題。如果你正在處理這樣的問題,本文將會…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用@Transactional和分表優化數據交易系統的性能和可靠性

    本文將詳細介紹如何使用@Transactional和分表技術來優化數據交易系統的性能和可靠性。 一、@Transactional的作用 @Transactional是Spring框…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • Python性能優化方案

    本文將從多個方面介紹Python性能優化方案,並提供相應的示例代碼。 一、使用Cython擴展 Cython是一個Python編譯器,可以將Python代碼轉化為C代碼,可顯著提高…

    編程 2025-04-28
  • Python AUC:模型性能評估的重要指標

    Python AUC是一種用於評估建立機器學習模型性能的重要指標。通過計算ROC曲線下的面積,AUC可以很好地衡量模型對正負樣本的區分能力,從而指導模型的調參和選擇。 一、AUC的…

    編程 2025-04-28
  • Python性能分析: 如何快速提升Python應用程序性能

    Python是一個簡潔高效的編程語言。在大多數情況下,Python的簡潔和生產力為開發人員帶來了很大便利。然而,針對應用程序的性能問題一直是Python開發人員需要面對的一個難題。…

    編程 2025-04-27
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27

發表回復

登錄後才能評論