<sub id="3nzrj"></sub>

<track id="3nzrj"></track>
    <address id="3nzrj"><progress id="3nzrj"><progress id="3nzrj"></progress></progress></address>

      <menuitem id="3nzrj"><dfn id="3nzrj"></dfn></menuitem>

      Laravel - 為 WEB 藝術家創造的 PHP 框架。

      PHP THAT DOESN'T HURT. CODE HAPPY & ENJOY THE FRESH AIR.

      Laravel logo

      Laravel?之父:讓 Laravel、Symfony、 Zend 來一場公平的性能測試

      網上充斥著各式各樣的 PHP 框架性能對比的文章。然而,他們總是把“蘋果”和“橘子”做對比(看上去有點兒像,都是圓的,但其實不是一碼事)。這次,我將著重對 Laravel、Symfony 和 Zend 這三個框架做性能對比,并且還要說明為什么這三個框架總是被錯誤的進行比較。

      我給的對比結果你不必全信。讀完這篇文章之后,你可以自己搞一個 2GB 的 DigitalOcean 的服務器親自去檢驗一下,也就 5 分鐘而已。

      開始之前,我希望你知道:所有這些框架都足夠快,都可以滿足你構建任何應用。寫這篇文章之前我也猶豫過,我認為做這種層次的對比其實真的挺傻的。我唯一的目的是展示如何在三個框架之間進行公平的比較。

      問題的源頭

      當你在一臺全新的 DigitalOcean 服務器上配置 Symfony 或 Zend 項目時,你會發現返回的 http 響應是沒有 session 信息的。注意,看下圖,cookie 并沒有被返回:

      然而,Laravel 默認是開啟 session 的(另外還有一些中間件)。這樣能讓基于 Laravel 構建的應用很方便地利用 session 機制將用戶狀態持久化保存。為了 Laravel 框架的用戶更方便而默認開啟 session 反倒讓 Laravel 在性能對比中很受傷。

      另一個常見錯誤是:要么沒有倒出一份優化過的 Composer autoloader ;要么沒有用 php artisan config:cache 指令緩存 Laravel 配置信息 -- 這份緩存能夠大幅度減少 Laravel 的啟動(bootstrap)時間。

      設置環境

      首先,我通過 Laravel Forge 在 DiginalOcean 上創建了一個 2GB 內存的服務器,安裝的是 PHP 7.1 版本。然后安裝 Symfony ,優化 Composer autoloader ,配置 Nginx 通過生產環境下的前端控制器(app.php)運行。并且我還按照 Symfony 生產環境調優指南一步步設置到位。對于 Zend 的配置也類似。

      接下來,針對 PHP 7.1 的 opcache 設置如下(生產環境):

      opcache.enable=1
      opcache.memory_consumption=512
      opcache.interned_strings_buffer=64
      opcache.max_accelerated_files=20000
      opcache.validate_timestamps=0
      opcache.save_comments=1
      opcache.fast_shutdown=1

      安裝 Laravel 時,執行 config:cache Artisan 指令,并且在 app/Http/Kernel.php 文件中將 web 中間件組注釋掉(這些中間件的作用就是讓 Laravel 支持 session)。做完上述修改之后就可以讓三個框架都在無 session 支持的狀態下進行對比了。

      對比結果

      After configuring the projects, I ran a simple test using Apache benchmark, which anyone can recreate:

      三個框架都能正常運行后,終于可以祭出 Apache benchmark 來做簡單的測試了。其實任何人都可以很容易地復現這一測試:

      ab -t 10 -c 10 [http://server.address/]

      下面是測試結果:

      無 Session:

      • Laravel: 609.03 次請求/秒 (平均值)
      • Zend: 559.91 次請求/秒 (平均值)
      • Symfony: 532.97 次請求/秒 (平均值)

      有 Session:

      • Laravel: 521.64 次請求/秒(平均值)
      • Zend: 484.94 次請求/秒 (平均值)
      • Symfony: 439.37 次請求/秒 (平均值)

      原文地址:https://medium.com/@taylorotwell/benchmarking-laravel-symfony-zend-2c01c2b270f8#.kf4gywdmg

      關于作者 王賽
      源碼面前,了無秘密。
      903好彩三期必中期期免费-王中王论坛+香港马会论坛 -清徐嗜直代理记账有限公司 白小姐六肖选一肖中特| 蓝月亮246精选资料大全| 蓝月亮料精选资料免费| 精选二四六天天资料| 管家婆四肖精选期期准| 王中王中特免费公开资料选料| 刘伯温全年料四肖选一肖| 三肖选一肖期期准| 四肖选一肖期期准香港| 蓝月亮料精选资料免费| 精选二四六天天资料| 三肖选一肖期期准| 管家婆四肖精选期期准| 四肖选一肖期期准香港| 管家婆四肖精选期期准| 香港曾道六肖精选一肖| 精选二四六天天资料| 蓝月亮精选料免费大全| 香港蓝月亮精选免费资料大全| 白小姐六肖选一肖中特| 白小姐精选三肖期期准| 王中王中特免费公开资料选料| 四肖选一肖期期准香港| 管家婆期期准免费资料精选| 香港最准一肖中特公开选料1| 二四六精选资料大全| 刘伯温全年料四肖选一肖| 蓝月亮料精选资料免费| 白小姐四肖选一肖期准| 蓝月亮246精选资料大全| 蓝月亮料精选资料免费| 香港最准一肖中特公开选料1| 蓝月亮料精选资料免费| 蓝月亮料精选资料免费| 四肖选一肖期期准香港| 香港最准一肖中特公开选料1| 蓝月亮料精选资料免费| 香港最准一肖中特公开选料1| 精选二四六天天资料| 四肖选一肖期期准香港| 白小姐四肖选一肖期准|