Laporan ujian prestasi rangka kerja PHP_kemahiran php
Sebagai pembangun PHP dan pembangun teknikal dalam pasukan permulaan, memilih rangka kerja pembangunan adalah perkara yang sangat sukar.
Dengan ThinkPHP, anda boleh bermula dengan merekrut pembangun yang baru menamatkan pengajian dari institusi latihan, tetapi menyahkan prestasi daripada kod pos adalah menyusahkan. Walau bagaimanapun, banyak fungsi pihak ketiga tidak perlu ditulis sendiri, kerana ramai pakar telah membuka jalan.
Dengan Laravel, Legend sangat selesa untuk menulis dan mempunyai skalabiliti yang mencukupi, tetapi kos pembelajaran agak tinggi Anda tidak boleh memberi masa setengah bulan kepada pembangun junior untuk mempelajari rangka kerja. Selain itu, dikatakan bahawa orang dalam industri telah mendedahkan bahawa prestasi Laravel tidak begitu baik, dan dokumentasinya tidak begitu kaya.
Dengan Yii, sintaksnya agak menyusahkan, dan pemisahan kod hadapan dan belakang agak menyusahkan, tetapi prestasinya sangat baik, dan ia sudah digunakan oleh banyak syarikat domestik yang besar berlaku yang tidak dijangka, anda boleh mencari pakar dengan cepat untuk menjawab soalan anda.
Adalah lebih baik untuk melakukan penilaian prestasi yang mudah Anda tidak boleh tersilap dengan memilih yang mempunyai prestasi cemerlang
Ujian Prestasi
Masa ujian: 06 Mei 2016
Alat ujian: pengepungan (kerana ab sistem MAC sentiasa mempunyai ralat pr_socket_recv: Tetapan semula sambungan oleh rakan sebaya (54), jadi saya memilih pengepungan)
Mesin ujian: Pemproses MacPro Core i5/memori 8GB/Memori kilat SSD 256GB
Persekitaran ujian: Apache PHP5.6
Versi rangka kerja: ThinkPHP 3.2.3 Laravel 5.2 Yii2.0.5
Prinsip ujian: Setiap kitaran ujian ialah 5 kali, dan data sederhana diambil
Nota tambahan: Semua projek diletakkan dalam subdirektori
Penjelasan keputusan
Transactions: 2119 hits 处理请求总数量 Availability: 96.85 % 可用性 Elapsed time: 9.74 secs 运行时间 Data transferred: 1.31 MB 数据传输量 Response time: 0.60 secs 响应时间 Transaction rate: 217.56 trans/sec 每秒处理效率 Throughput: 0.13 MB/sec 每秒处理数据 Concurrency: 130.28 并发 Successful transactions: 2162 成功的请求 Failed transactions: 69 失败的请求 Longest transaction: 2.85 最长的单个请求 Shortest transaction: 0.01 最短的单个请求
Mulakan ujian
Tambah pengawal dan masukkan HelloWorld 10,000 kali dalam pengawal
Concurrency 50 gelung 10 kali:
Perkara pertama yang datang kepada kami ialah ThinkPHP, yang kelihatan baik
Transactions: 500 hits Availability: 100.00 % Elapsed time: 2.81 secs Data transferred: 52.45 MB Response time: 0.26 secs Transaction rate: 177.94 trans/sec Throughput: 18.67 MB/sec Concurrency: 47.10 Successful transactions: 500 Failed transactions: 0 Longest transaction: 0.48 Shortest transaction: 0.03
Kemudian Laravle, baiklah, sedikit kecewa
Transactions: 500 hits Availability: 100.00 % Elapsed time: 13.33 secs Data transferred: 52.45 MB Response time: 1.27 secs Transaction rate: 37.51 trans/sec Throughput: 3.93 MB/sec Concurrency: 47.55 Successful transactions: 500 Failed transactions: 0 Longest transaction: 3.64 Shortest transaction: 0.07
Yii, yang agak optimis sebelum perlawanan akhir
Transactions: 500 hits Availability: 100.00 % Elapsed time: 4.84 secs Data transferred: 52.45 MB Response time: 0.46 secs Transaction rate: 103.31 trans/sec Throughput: 10.84 MB/sec Concurrency: 47.65 Successful transactions: 500 Failed transactions: 0 Longest transaction: 0.88 Shortest transaction: 0.04
Concurrency 200 gelung 10 kali:
Pertama ialah ThinkPHP
Transactions: 1977 hits Availability: 98.85 % Elapsed time: 10.03 secs Data transferred: 207.40 MB Response time: 0.95 secs Transaction rate: 197.11 trans/sec Throughput: 20.68 MB/sec Concurrency: 187.68 Successful transactions: 1977 Failed transactions: 23 Longest transaction: 1.22 Shortest transaction: 0.02
Kemudian Laravel
Transactions: 1890 hits Availability: 94.50 % Elapsed time: 51.85 secs Data transferred: 198.27 MB Response time: 4.88 secs Transaction rate: 36.45 trans/sec Throughput: 3.82 MB/sec Concurrency: 178.00 Successful transactions: 1890 Failed transactions: 110 Longest transaction: 26.01 Shortest transaction: 0.07
Akhirnya Yii
Transactions: 1996 hits Availability: 99.80 % Elapsed time: 18.95 secs Data transferred: 209.39 MB Response time: 1.79 secs Transaction rate: 105.33 trans/sec Throughput: 11.05 MB/sec Concurrency: 188.57 Successful transactions: 1996 Failed transactions: 4 Longest transaction: 3.29 Shortest transaction: 0.10
Tidak disangka-sangka, tanpa pengoptimuman, ThinkPHP adalah yang terpantas, Yii lebih pantas sedikit, dan Laravel menamatkan ujian dengan laju yang goyah. Hasilnya agak tidak dijangka, tetapi ujian di atas hanya mewakili persekitaran pembangunan Rangka kerja akan dioptimumkan di bawah untuk mensimulasikan persekitaran dalam talian.
Rangka kerja pengoptimuman
ThinkPHP:
APP_DEBUG改为false
Laravel:
APP_DEBUG改为false php artisan route:cache php artisan optimize php artisan config:cache composer dumpautoload -o
Yii:
YII_DEBUG ditukar kepada palsu
komposer dumpautoload -o
Concurrency 200 gelung 10 kali:
ThinkPHP
Transactions: 1655 hits Availability: 82.75 % Elapsed time: 8.21 secs Data transferred: 173.62 MB Response time: 0.69 secs Transaction rate: 201.58 trans/sec Throughput: 21.15 MB/sec Concurrency: 139.29 Successful transactions: 1655 Failed transactions: 345 Longest transaction: 7.83 Shortest transaction: 0.00
Laravel:
Transactions: 1520 hits Availability: 76.00 % Elapsed time: 34.95 secs Data transferred: 159.45 MB Response time: 3.15 secs Transaction rate: 43.49 trans/sec Throughput: 4.56 MB/sec Concurrency: 136.84 Successful transactions: 1520 Failed transactions: 480 Longest transaction: 19.18 Shortest transaction: 0.00
Yii:
Transactions: 1704 hits Availability: 85.20 % Elapsed time: 15.16 secs Data transferred: 178.76 MB Response time: 1.46 secs Transaction rate: 112.40 trans/sec Throughput: 11.79 MB/sec Concurrency: 164.21 Successful transactions: 1704 Failed transactions: 296 Longest transaction: 9.04 Shortest transaction: 0.00
Perkara yang pelik ialah apabila rangka kerja mematikan mod nyahpepijat, terdapat lebih banyak kegagalan. Walau bagaimanapun, adalah jelas bahawa selepas pengoptimuman mudah, prestasi Laravel telah bertambah baik, tetapi ia masih lebih rendah daripada dua rangka kerja yang lain.
Kesimpulan
Semasa ujian, saya berasa tertekan dan merasakan bahawa pandangan dunia saya telah runtuh, sehingga runtuh.
Prestasi ThinkPHP adalah dua kali lebih tinggi daripada Yii dan hampir empat kali lebih tinggi daripada Laravel
Prestasi Yii agak biasa-biasa sahaja, tetapi dalam ujian, adalah jelas bahawa terdapat lebih sedikit kegagalan permintaan daripada dua rangka kerja yang lain
Laravel masih anggun, tetapi persembahannya lebih membimbangkan.
Akhir sekali
Transactions: 1672 hits Availability: 83.60 % Elapsed time: 6.18 secs Data transferred: 175.40 MB Response time: 0.57 secs Transaction rate: 270.55 trans/sec Throughput: 28.38 MB/sec Concurrency: 153.16 Successful transactions: 1672 Failed transactions: 328 Longest transaction: 4.57 Shortest transaction: 0.01

Artikel ini menerangkan cara membuat, melaksanakan, dan menggunakan antara muka dalam PHP, memberi tumpuan kepada manfaat mereka untuk organisasi kod dan penyelenggaraan.

Artikel ini membincangkan perbezaan antara crypt () dan password_hash () dalam php untuk hashing kata laluan, memberi tumpuan kepada pelaksanaan, keselamatan, dan kesesuaian untuk aplikasi web moden.

Artikel membincangkan mencegah skrip lintas tapak (XSS) dalam PHP melalui pengesahan input, pengekodan output, dan menggunakan alat seperti OWASP ESAPI dan pembersih HTML.

Autoloading dalam PHP secara automatik memuat fail kelas apabila diperlukan, meningkatkan prestasi dengan mengurangkan penggunaan memori dan meningkatkan organisasi kod. Amalan terbaik termasuk menggunakan PSR-4 dan menganjurkan kod dengan berkesan.

Aliran PHP menyatukan pengendalian sumber seperti fail, soket rangkaian, dan format mampatan melalui API yang konsisten, abstrak kerumitan dan meningkatkan fleksibiliti dan kecekapan kod.

Artikel ini membincangkan menguruskan saiz muat naik fail dalam PHP, memberi tumpuan kepada had lalai 2MB dan bagaimana untuk meningkatkannya dengan mengubah suai tetapan php.ini.

Artikel ini membincangkan jenis yang boleh dibatalkan dalam PHP, yang diperkenalkan dalam Php 7.1, yang membolehkan pembolehubah atau parameter menjadi sama ada jenis atau null yang ditentukan. Ia menyoroti faedah seperti kebolehbacaan, keselamatan jenis, dan niat jelas, dan menerangkan cara mengisytiharkan

Artikel ini membincangkan perbezaan antara fungsi Unset () dan Unlink () dalam pengaturcaraan, memberi tumpuan kepada tujuan dan kes penggunaannya. Unset () membuang pembolehubah dari ingatan, sementara Unlink () memadam fail dari sistem fail. Kedua -duanya sangat penting untuk effec


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).
