2009-08-29 4 views
0

私は、Webアプリケーションのスピードを最大限に高める方法を探していました。 CSPと呼ばれる面白いアプリケーションを見つけました。あなたは彼らのことを聞いたことがありますか?彼らはあなたがC++でWebアプリケーションをプログラミングできると主張しています。その価値はありますか?本当に新しい何もないC++ Server Pagesについて聞いたことがありますか?

http://www.micronovae.com/CSP.html

+0

あなたはどのようなスピードの問題を抱えていますか? – jonnii

+0

実際には何もいろいろなことを実験しています。 733MHZラップトップでdigg.comのようなサイトを実行することが可能かどうかを知りたいですか? – user161433

+0

** @ luke101 **商用製品へのリンクではない質問は、完全に本格的であっても、加工された肉の匂いがします。もう少し一般的なことですが、CやC++のWebフレームワークに頼っていると言えば、もっと適切であり、探しているものを得る可能性が高いかもしれません。 – dmckee

答えて

3

...それは価値がありますか?

あなたのやりたいことによって異なります。ほとんどのWebアプリケーションは、パフォーマンスをほとんどまたはまったく考慮して構築されていません。大部分のページにはCGIはまったく必要ありません。データベースとコードを使用してページを生成/変更することは理にかなっていますが、毎回生成することによってページをクライアントに提供することは最適ではありません。他の人が述べたように、デザイン、レイアウト、コンテンツ、インフラストラクチャを作成し、それらをすべて実行し続けることは、通常、ページの生成速度よりも優先されます。パフォーマンスに使用される現在の方法は、リバースキャッシング、エッジサイドキャッシング、ロードバランシング、クラスタリングなどです。Webシステムは標準フレームワーク(Java、PHP、Python、Ruby、Perlなど)によって提供され、パフォーマンスの向上は負荷をより多くのボックスに分散させてキャッシングすることで対応しました。どのCGI(C++でも)は、最適化された静的サーバー(例:nginx)によって提供される静的ファイル、またはリバースキャッシュ(例:ワニス)を使用してメモリから提供される静的ファイルよりも遅くなります。ほとんどの人は、低レベルの言語での知識不足とスクリプト言語で利用可能なコードとフレームワークの大量のために、Webサービスのために低レベルの言語を使用することを躊躇していると言われています。

経営陣がオープンソースコードを使用しないように指示したプロジェクトで作業していたため、より低レベルの言語を使用した開発に時間がかかることに同意しません。 PHPでコードを「すべて」書いたのであれば、それはあなたと同じくらい長くかかりますが、ほとんどはそうしません。ほとんどの人は他人のコードを使って、より低レベルの言語で自分のコードを書くよりも速いと主張します。

Webアプリケーションは、通常、非常に単純化されており、あなた(またはあなたの会社)が標準のWebルーチンを実行するための一連のライブラリを開発します。一旦書かれると、CGIウェブページは、どのスクリプト言語の場合と同様に、CまたはC++で速く構築することができます。しかし、AJAXの出力にjsonをインポートする必要がある場合は、より低レベルの言語ではなく、スクリプト言語でいくらかの量のスターターコードを見つけることができます。

WebアプリケーションはCおよびC++でビルドされていますか?絶対に。これらの「邪悪な」広告サーバーの多くは、パフォーマンスのためにC言語でコーディングされています。多くのWebベースの「アプリケーション」は、VMwareのWebベースの仮想コンソールなど、CまたはC++を使用して構築されています。

ウェブアプリケーションのパフォーマンスを2つの別々のアプリとして考え始める場合は、 1つはコンテンツ管理とページジェネレータです。もう1つはサービングフレームワークです。フルページとページフラグメントは、必要に応じてあらかじめ生成または生成することができ、静的ファイルとして提供され、プログラミング言語の変更をはるかに上回るパフォーマンスを発揮します。ページが2つの要求に対してのみ持続する場合でも、負荷と速度の差は100対1になる場合があります。セッション、認証、認可を扱うのは難しい作業です。セッションをページから分離し、セキュリティを維持する方法。これは、WebサーバーでCベースのモジュールを使用することでよく行われます。

Webベースのゲームサーバーや複雑なWebアプリケーションを作成する場合は、CまたはC++ライブラリの構築を開始してください。ブログの速度を上げたい場合は、クラスタリングとキャッシングのテクニックを学び、使用してください。

+0

うわー。 – user161433

+0

非常によく言った...時にはその最後のcフロンティアで彼らの旗をホストしているCファンについて... – amar

2

。 CGIのように、あなたはHTTPパイプラインにフックする事実上どんな言語でも書けるアプリケーションを実行します。

0

私は最近Cを使用してlibcgicを使用してウェブサイトを作成しました。それはうまくいっていて、おそらくかなり速かったでしょうが、それは非常にウェブにやさしい言語で書かれていなかったので、維持するのは苦痛でした。ほぼすべての用途で、スクリプト言語によって提供されるコードの保守性は、CやC++のような言語を使用した場合の速度のほんのわずかな利点よりもはるかに優れています。チューニングが必要な特定の機能があった場合は、C++をちょうどその部分のより一般的なスクリプト言語に接着することができます。

4

あなたが望む場合は、あなたのウェブサイトを組み立ててプログラムすることができます。

重要なのは、言語が一般的にスローポイントではないということです。ウェブサイトを拡大する際にはデザインが重要です。

コードの実行時間は、リクエストを返したりHTMLを出力したりするのに実際には関係ありません。必要なデータ分析の種類に応じて適切かもしれませんが、その場合は、選択したWeb言語を使用して呼び出すだけです。

サーバー経由の配布をサポートするフレームワークを選択し、アプリケーション(およびデータベース)がこれを処理するように設計することをお勧めします。これが本当のメリットを得る方法です。

+0

私は同意します。アプリケーションの設計、データベース、HTTPの最適化は、 "言語* x *が十分に高速です"よりも見過ごされ、重要であることがよくあります。 –

+0

良いプログラムデザインを実施するためにどのような本をお勧めしますか? – user161433

+0

luke101:私は知らないだろう、私は実際に本を読んでいない:) –

0

ATLサーバー(プラットフォームがWindowsの場合)も検討してください。これは、C + +のWebフレームワークは、Webアプリケーション(とより多くの)をカバーしていたMicrosoftは、サポートを落としてきた。しかし、彼らは、彼らは(Windowsのみに使用を制限するMS-LPL)ではない - 非常にオープンソースライセンスの下で持っていたものリリース:

私はそれで何の経験をしましたありませんが、私がC++でWebアプリケーションをやろうとしたら、一度見てみましょう。

1

WebアプリケーションでC++の速度が必要な場合は、一般的なWeb言語を使用してフロントエンドを作成し、C++アプリケーションとのインターフェイスを持つことが常に理にかなっています。

関連する問題