目次
またご飯作ってるの?
ホームページ バックエンド開発 PHPチュートリアル 衝撃的な数字が語る: TP フレームワーク、php、html、php 静的ページの実行効率の分析と比較

衝撃的な数字が語る: TP フレームワーク、php、html、php 静的ページの実行効率の分析と比較

Jun 23, 2016 pm 01:47 PM
html php


最近、高性能チャットサーバーを構築しようと考えていますが、Thinkphp3.2 はどれくらい効率的なのでしょうか?つまり、フレームワークはどの程度効率的かということです。それでテストしてください。
タスク: データベースから 44 個のデータを読み取ります。
1. Tp3.2 home->controler->IndexControler->index()
$m=M('login_log');
$this->select(); ;assign('login_log_list',$login_log_list);
$this->display('index');
テンプレート:index.html: $ Result = MySQL_QUERY ('Select*from Login_log'); L: Test2.php 結果を出力します。
4. test1.php: test2.html のサフィックスが php に変更され、その他は変更されません。

ツール: ab.exe を使用して、1000 の接続、100 の同時実行を実行します。コンピューター: ASUS ノートブック CPU: u3400 6G メモリ。 Win7。すべてのプログラムはローカルで実行されます。
結果は次のとおりです:

結果: http://chenrenqi.blog.sohu.com/303865454.html
ここではチャートはサポートされていません。上のリンクを参照してください。

データベースへのネイティブ PHP 接続が TP3.2 の 11 倍であることがわかります。時間は主に、ファイルの読み込み、クラスの作成、テンプレートの解析に費やされます。
また、静的ファイルは PHP データベース ファイルよりも約 21 倍長くなります。サフィックス変更後のPHPの約4倍です。
実際の作業では、php ファイルをご存知でしょう。つまり、http 接続には複数のデータベース接続が必要になる場合があり、HTML の実際の速度は PHP よりも 30 倍以上速い場合がありますが、これはごく普通のことです。





ディスカッションへの返信(解決策)

企業サイトの 90% は社内 OA を備えており、同時アクセス数は多くありません。したがって、TPを使用するのはまだ良いことです。優れたパフォーマンス要件がある場合。他のものも使用できます。

またご飯作ってるの?

ご存知のとおり、フレームワークは開発に高い効率をもたらします。フレームワークの作者ですら、実行効率が低いことを否定していません

php サフィックスは php パーサープロセスを開始する必要があり、コードの実行には時間がかかります
html サフィックスを php サフィックスに変更する場合も同様です。 PHP パーサーはドキュメント全体を分析し、PHP 構文コンポーネントがないことを確認しました。そのまま出力されますか

C 言語でコンパイルされた機械語命令は、アセンブリ言語のものより 30% 多くなります。しかし、当時はリソースが高価であったとしても、プログラマーは依然として C 言語を選択していました。
これはなぜですか?その理由は、C言語がその名の通り単純明快だからです

高機能チャットサーバー。 。 。 。あなたのデータは何も説明しません。

TP が苦手だと思うなら、C か JAVA を選んでください。英語ができるのと同じように、フランス語を話してください。

実行効率を追求する場合は、C を使用して PHP アプリケーションを開発できます。または、フレームワークが C++ 拡張機能です。

あなたの投稿に返信しました... 言っただけです... フレームワークでは多くの役に立たないものをインスタンス化する必要がありますが、実装するのは小さな機能だけです。MVC フレームワークは、ページが作成されるたびに最初から最後まで実行する必要があります。再度インスタンス化するので…高性能の追求…従来のプロセス記述法の方が便利かもしれない…開発効率やメンテナンスの問題に関しては…というのが筆者の考えです。

また憶測してるの?

ご存知のとおり、フレームワークは開発に高い効率をもたらします。フレームワークの作者ですら、実行効率が低いことを否定していません

php サフィックスは php パーサープロセスを開始する必要があり、コードの実行には時間がかかります

html サフィックスを php サフィックスに変更する場合も同様です。 PHP パーサーはドキュメント全体を分析し、PHP 構文コンポーネントがないことを確認しました。そのまま出力されますか

C 言語でコンパイルされた機械語命令は、アセンブリ言語のものより 30% 多くなります。しかし、当時はリソースが高価であったとしても、プログラマーは依然として C 言語を選択していました。
これはなぜですか?その理由は、C言語はその名前の通り単純明快だからです


理解できるかどうかに関係なく、誰でも理解できるからです。パフォーマンスを理解すると、それを最適化するためのプログラミング方法が無意識のうちにわかるようになります。

TP が苦手だと思うなら、英語ができるなら C か JAVA を選べばいいのと同じように、フランス語を話せと言わなければなりませんね。

遅いことは必ずしも悪いことではありません。ロジックに何か問題があります。私が誰かを美しいと言うのと同じように、それはその人が非常に有能であるという意味ではありません。

共有していただきありがとうございます。ただし、これを理解できるのは、高パフォーマンスのアプリケーションを開発したい人はもちろんのこと、少し常識のある PHP 開発者だけです。

この種のテストは不公平だと思いますが、フレームワークに成熟したキャッシュ メカニズムを設定してはどうでしょうか。
TP はどこで時間を過ごしていますか?ディスクIO?オブジェクトをインスタンス化してメモリに書き込みますか?テンプレートは通常のマッチングをレンダリングしますか?
これらはすべてキャッシュを通じて実行できます

あはは、これを投稿した投稿者は共有の精神に基づいていると思います、くそー、荒らしめ!元の投稿者をサポートしてください

これはフレームワークによくある問題です。

99% の人は、パフォーマンスのボトルネックがデータベースにあると考えています。テスト結果は、パフォーマンスのボトルネックがデータベースにあることを示しています。しかし、それを変更するのは困難です。変更できる部分はデータベースに加えて、他のプログラムのボトルネックも存在することを無視しないでください。そしてその違いは非常に大きいです!

もう 1 つのポイントは、フレームワークのパフォーマンスが非常に悪いことがわかっているのであれば、なぜ変更しないのかということです。

私は現在、新しいフレームワークを作成しています。目標は、非常にシンプルで、非常に強力で、非常に高速で、非常に愚かであることです。 忽 皆無視のフロントエンド


































」もスピードを楽しめます。

初期目標: ネイティブ PHP の半分の速度 (達成できるかどうかはわかりませんが、これが目標です)。


この種のテストは不公平だと思いますが、フレームワークに成熟したキャッシュ メカニズムを設定してはどうでしょうか。 🎜 TP はどこで時間を過ごしていますか?ディスクIO?オブジェクトをインスタンス化してメモリに書き込みますか?テンプレートは通常のマッチングをレンダリングしますか? 🎜 これらはすべてキャッシュを通じて行うことができます 🎜 🎜 とても幸せですね、兄弟! ^_^ 🎜 成熟したキャッシュ メカニズムについてはどうでしょうか?? 私たちはそれを何度もテストしましたが、キャッシュがどれほど効果的であるかはわかりませんでした。 🎜 🎜 🎜 🎜 この種のテストは不公平だと思いますが、フレームワークに成熟したキャッシュ メカニズムを設定してはどうでしょうか。 🎜 TP はどこで時間を過ごしていますか?ディスクIO?オブジェクトをインスタンス化してメモリに書き込みますか?テンプレートは通常のマッチングをレンダリングしますか? 🎜 これらはすべてキャッシュによって解決できます 🎜 🎜 🎜 当初、キャッシュは非常に便利だと考えていましたが、テストの結果、キャッシュはあまり効果的ではないことがわかりました。 🎜 🎜 キャッシュは同時実行性が高い場合にのみ利点を発揮します。 🎜 通常の小規模な Web サイトではキャッシュは必要ありません。 🎜 🎜 同じロジックの下では、ネイティブ コードはフレームワークよりもはるかに高速です。これは、フレームワークがロードする必要があるものが多すぎるためです。 🎜 🎜 たとえば、単純なページの場合、ネイティブ コードは出力を直接解析し、要求は 1 つだけです。しかし、フレームワークではこのページが十数個の小さな部分に分割されることが多く、リクエストの数だけでも 10 倍以上になります。 🎜 🎜 本物のプログラマはネイティブに書くべきです。 🎜 🎜 フレームワークが存在する理由は、フレームワークによって開発を大幅にスピードアップできるからです。プロジェクトを迅速に構築します。 🎜 🎜 しかし、フレームワークのロジックと矛盾する一部の Web サイトでは、ネイティブのものを使用した方が速いと思います。 🎜 🎜 たとえば、TP はフォーラムのために生まれました。ポータル ページを作成したい場合は、Sina と同様のホームページ効果を実現する必要があります。 🎜 🎜 現時点で TP を使用すると、死ぬほど疲れ果てる可能性があります。 🎜 🎜 では、私は 1% です 🎜 注: データベースは、特にファイル システム ベースの SQL を指すわけではありません (SQL にもメモリ ベースのテーブルがあります)。メモリ ベースの noSQL もあります 🎜 🎜 🎜 🎜フレームワーク自体 さて、フレームワークとは開発経験をまとめたものです。 🎜 しかし、フレームワークのためのフレームワークがあるのは良くありません 🎜 🎜 従来のマルチエントリ アーキテクチャでは、ルーティングの割り当ては Web サーバーによって完了されます 🎜 そして、一部のフレームワークは、Web サーバーが行うべき作業を強制的に実行します。いわゆる単一エントリ効果のための Web サーバー。 🎜 🎜 🎜 🎜 この文にはなぜ違法なフレーズがあるのですか? 🎜 🎜 このテストは意味がありません。 。 。 。 🎜 🎜 PHPはどんどん別物になってきており、効率もPythonに及ばない気がします 🎜 🎜 🎜 業務効率を追求する人はCを使ってPHPアプリケーションを開発することもできます。または、フレームワークが C++ 拡張機能です。 🎜 🎜 まだ完了していませんが、将来的には完了する可能性があります。 🎜

この表現を見ると幸せな気持ちになります

私は 1% に属します... パフォーマンスのボトルネックは主に、多数のファイルがデプロイされている MVC のディスク IO にあり、同時実行性が高い場合は非常に不快です。これを解決するには、オペコードキャッシュをオンにします。このテスト結果も大きく変わります
16 階で言及されている 10 個ほどのリクエストされた単一ページがどのフレームワークに属しているかに非常に興味があります...
さらに、フレームワークは提供するだけです開発モードといくつかの共通機能のカプセル化 (フォーラムであっても Sina であっても) これらのビジネス ロジックの違いは何ですか?たぶん、私はこれまでにやったことがなく、本当に理解していないと思います。時間をかけて詳しく学んでいただければ幸いです

ネイティブ PHP はフレームワークよりも高速であることは間違いありませんが、最適化手法によってこのギャップを大幅に減らすことができます。
ページ速度の違いがほんの数十分の一秒である場合は、開発モードよりも重要です。皆さんもアセンブリを使用して Web を構築しましょう〜

経験は浅いですが、私もキャッシュについて反論したいと思います。自信の欠如ではなく、高頻度の反復作業の消費を最小限に抑えるためです
簡単な記事 ニュースによると、書き込み操作は一生に一度しか起こらない可能性がありますが、読み取り操作は毎分実行されます。毎回サーバー ソフトウェアにスクリプトを実行してから、データベースに問い合わせる必要があります。静的ファイルは、元々はネットワークの中間段階で最適化できるようです。カードバッファも省略できます
複雑なフィルタリング条件を持つ一部のおすすめニュースについては、毎回データベースに計算させる必要はありません
もちろん、過剰なキャッシュは絶対に不要です


実は、これは変換するためのものです同時実行性の高いものについては、他の言語に切り替えることを検討してください。効率にも注意が必要ですが、効率を求めてスプレーする必要はありません。

はい、TP はフォーラム コミュニティや小規模な情報 Web サイトには適していますが、大規模な Web サイトには適していません

時間があれば、yii の効率をテストできます

それはあなたです。は無料です何もすることがないタイプ!フレームワークは迅速な開発を目的として設計されています。

急速な発展のために生まれましたが、それは速いという意味ではありません。こういった基礎研究を理解していないと、どんなに忙しくても無駄な忙しさになってしまいます。
現在高速フレームワークを開発中です。間違いなくあなたより忙しいです。

何もすることがないのはあなたです!フレームワークは迅速な開発を目的として設計されています。

私の意見では、このフレームワークは開発効率の向上以外に開発者にとって何のメリットもありません
フレームワークを 1 年間使用した後では、最も基本的な SQL さえ書けないと思います。
フレームワークのさまざまな初期化は言うまでもなく、あらゆる種類の新しいものがあります

私の意見では、このフレームワークは開発効率の向上以外に何のメリットもありません
フレームワークを 1 年間使用した後では、 , 最も基本的な SQL さえ書けないと思います
フレームワーク内のさまざまな初期化や新しいものは言うまでもありません

元々のやり方を知っていても、やり方を知らなければ書けません。それをするために。

時間があれば、yii の効率をテストできます

当初は YII を使用してテストする予定でしたが、一昨日勉強した後、YII の作者があまりにも貧弱であると感じました。テストする必要はありません。
YⅡさんはもともと偉い人だと思っていましたが、よく知るうちにこの業界では新参者であることが分かりました。

本物のプログラマはネイティブで書くべきです。


フレームワークが存在する理由は、フレームワークによって開発を大幅にスピードアップできるためです。プロジェクトを迅速に構築します。

しかし、フレームワークのロジックと矛盾する一部の Web サイトでは、ネイティブのものを使用した方が速いと思います。

たとえば、TP はフォーラムのために生まれました。ポータル ページを作成したい場合は、Sina と同様のホームページ効果を実現する必要があります。

現時点で TP を使用すると、死ぬほど疲れ果てる可能性があります。

レベルはかなり良いです、おそらく1年以内です。もっとプログラムしてください。進歩があるでしょう。
10 年以上の Web 開発経験を持つ人がキャッシュをこのように理解しているというのは本当に衝撃的です。

これらの投稿は単なる時間の無駄と思われるため、元の投稿者には返信しません。

Web 開発の経験が 10 年以上ある人がキャッシュをこのように理解しているというのは本当に衝撃的です。

これらの投稿は単なる時間の無駄と思われるため、元の投稿者には返信しません。

ちなみに、Web 経験が 10 以上ある人はどこで会えますか?長くても3年しかないよ。
フレームワークも使われていますが、使い方が不便なところもあります

例えば、複数条件クエリの後にページネーションを行った後に検索条件を取得し続ける方法は、ここで何度かループする必要があります。複数のデータを取得するのではなく、確実に取得できます!

チャットルームにはnode.jsを検討してください

効率が基準に達していない場合はバイナリを使用してください

初めてです。誰かが YII はひどい、TP はひどいと言っているのを聞きました。 。私にできることは、ふふ、誇示するのはやめることだけです。 ?

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

今まで知らなかったことを後悔している 7 つの PHP 関数 今まで知らなかったことを後悔している 7 つの PHP 関数 Nov 13, 2024 am 09:42 AM

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

See all articles