-1

このパフォーマンスは、phpスクリプトによって起動された.exeでタスクを実行するのに(Windows Serverで)効果的ですか?

私はC#.Netコーダーであり、セキュリティを必要とするバックエンドSQLおよびサードパーティのAPI関数をC#で直接コーディングする方がはるかに高速で簡単です。長期的には、それが良いか悪いかを知りたいです。私のウェブサイトのパフォーマンスがそうするために。

実行可能ファイルを起動するとスクリプトに遅延が発生しますか、それともパフォーマンス(phpとexe)は実行するタスクの長さに依存しますか?

[編集]

価値のない質問でごめんなさい。SOで同様のスレッドを検索し、いくつかのリンクを貼り付けます。

4

2 に答える 2

2

明らかに、関数呼び出しからexec(または同様の)へのオーバーヘッドがありますが、実際の実行は当然同じ速度になります(実行の1つとして行ごとの配列ストレージなどの出力で特別なことをしていない場合)関数は行います)。シェルからプログラムを実行する場合に比べて、呼び出しの遅延が大きいとは思えないので、効率の面で議論することはあまりないと思います。

それが良い考えかどうかについては、いや、そうではないでしょう。

于 2012-07-08T14:29:02.510 に答える
1

フロントエンドをPHPでコーディングし、ビジネスロジックをより効率的な言語(この場合はC#の場合もあります)でコーディングすることは、「パフォーマンスに効果的」です。これは、SOA(サービス指向アーキテクチャー)で頻繁に実行されます。SOA(サービス指向アーキテクチャー)は、ワークロードを物理的に分散できるため、同じマシンで実行するというアイデアよりもはるかにスケーラブルexecですが、明らかに実行可能ではありません。

あなたの質問は、あなたが何をしたいのか、特に同期的な方法で結果が必要かどうかについてはあまり明確ではありませんexecが、Unixライクなマシンでは、コマンドをで終了することでバックグラウンドで実行を開始でき&ます。リダイレクトする必要がありstdinますstderr(詳細については、マニュアルを参照してください)。

入力を完全にサニタイズし、execパラメーターを適切にエスケープする限り、私が知っているセキュリティリスクはありません。

Webサーバーのタイムアウトメカニズムと、親が殺されたときに子を殺すメカニズムは、プロセスがバックグラウンドに送信されない限り、プロセスをハングさせることによる損傷を防ぎます。execバックグラウンドに送信される場合は、同時edプロセスの数を制限するメカニズムが必要になる可能性があります。

于 2012-07-08T14:18:33.707 に答える