最近、高性能チャットサーバーを構築しようと考えていますが、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 倍以上速い場合がありますが、これはごく普通のことです。
ディスカッションへの返信(解決策)
またご飯作ってるの?
ご存知のとおり、フレームワークは開発に高い効率をもたらします。フレームワークの作者ですら、実行効率が低いことを否定していません php サフィックスは php パーサープロセスを開始する必要があり、コードの実行には時間がかかります
html サフィックスを php サフィックスに変更する場合も同様です。 PHP パーサーはドキュメント全体を分析し、PHP 構文コンポーネントがないことを確認しました。そのまま出力されますか
C 言語でコンパイルされた機械語命令は、アセンブリ言語のものより 30% 多くなります。しかし、当時はリソースが高価であったとしても、プログラマーは依然として C 言語を選択していました。
これはなぜですか?その理由は、C言語がその名の通り単純明快だからです
高機能チャットサーバー。 。 。 。あなたのデータは何も説明しません。
TP が苦手だと思うなら、C か JAVA を選んでください。英語ができるのと同じように、フランス語を話してください。
あなたの投稿に返信しました... 言っただけです... フレームワークでは多くの役に立たないものをインスタンス化する必要がありますが、実装するのは小さな機能だけです。MVC フレームワークは、ページが作成されるたびに最初から最後まで実行する必要があります。再度インスタンス化するので…高性能の追求…従来のプロセス記述法の方が便利かもしれない…開発効率やメンテナンスの問題に関しては…というのが筆者の考えです。
また憶測してるの?
ご存知のとおり、フレームワークは開発に高い効率をもたらします。フレームワークの作者ですら、実行効率が低いことを否定していませんphp サフィックスは php パーサープロセスを開始する必要があり、コードの実行には時間がかかります
html サフィックスを php サフィックスに変更する場合も同様です。 PHP パーサーはドキュメント全体を分析し、PHP 構文コンポーネントがないことを確認しました。そのまま出力されますか
C 言語でコンパイルされた機械語命令は、アセンブリ言語のものより 30% 多くなります。しかし、当時はリソースが高価であったとしても、プログラマーは依然として C 言語を選択していました。
これはなぜですか?その理由は、C言語はその名前の通り単純明快だからです
理解できるかどうかに関係なく、誰でも理解できるからです。パフォーマンスを理解すると、それを最適化するためのプログラミング方法が無意識のうちにわかるようになります。
遅いことは必ずしも悪いことではありません。ロジックに何か問題があります。私が誰かを美しいと言うのと同じように、それはその人が非常に有能であるという意味ではありません。
共有していただきありがとうございます。ただし、これを理解できるのは、高パフォーマンスのアプリケーションを開発したい人はもちろんのこと、少し常識のある 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 を使用すると、死ぬほど疲れ果てる可能性があります。
10 年以上の Web 開発経験を持つ人がキャッシュをこのように理解しているというのは本当に衝撃的です。
これらの投稿は単なる時間の無駄と思われるため、元の投稿者には返信しません。
Web 開発の経験が 10 年以上ある人がキャッシュをこのように理解しているというのは本当に衝撃的です。
これらの投稿は単なる時間の無駄と思われるため、元の投稿者には返信しません。
フレームワークも使われていますが、使い方が不便なところもあります
例えば、複数条件クエリの後にページネーションを行った後に検索条件を取得し続ける方法は、ここで何度かループする必要があります。複数のデータを取得するのではなく、確実に取得できます!
効率が基準に達していない場合はバイナリを使用してください
初めてです。誰かが YII はひどい、TP はひどいと言っているのを聞きました。 。私にできることは、ふふ、誇示するのはやめることだけです。 ?

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

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

Dreamweaver Mac版
ビジュアル Web 開発ツール

ホットトピック



