小規模、低パフォーマンス、低トラフィックの Web サイトの設計と開発の原則_PHP チュートリアル
小規模、低パフォーマンス、低トラフィックの Web サイトの設計と開発の原則
いくつかの技術サイトで、大規模で高トラフィック、高パフォーマンスの Web サイトのアーキテクチャ設計を分析した記事をよく見かけます。記事は基本的に満足度が高い 人々の好奇心を刺激しますが、読んだ後の実際の利益はそれほど大きくないかもしれません。なぜなら、多くの人にとってこのような機会に触れる機会はあまりないかもしれないからです。たとえそれに触れたとしても、実際に遭遇する状況は、あなたが読んだ多くの記事とは異なることがよくあります。
さらに、このような記事を読みすぎると人々が興奮しやすくなり、歩くことを学ぶ前に走ることを学ばせてしまうという副作用があり、その結果、多くの人が過度にデザインし、過度に拡張し、離れてしまいます。多くの条件が満たされていない場合、不必要な問題について考えるのが早まってしまい、逆効果になることがよくあります。
今日の記事では主に、小規模、低パフォーマンス、低トラフィックの Web サイトを設計および開発する方法について説明します。
サイトが初期段階のマシンまたはスペースである場合 (www.phpernote.com、毎日の IP が 5,000 未満のサイトなど)、現時点では、データの分割と負荷分散に注意を払う必要があります。影のあるものではありません。多くの大規模サイトの経験を真似してはなりません。これは、現実の状況に基づいて問題を弁証法的に見るための最後の言葉です。
使い慣れたテクノロジーを活用する
ウェブサイトを構築するとき、何を使用するか、自分がよく知っていることを他人に尋ねたりしないでください。ウェブサイトを書くのに苦手な技術的手段を使用すると、書き終わる頃にはニッコウキスゲが終わってしまう可能性があります。寒くなる。したがって、既製のソフトウェア コンポーネントが利用可能な場合は、自分で車輪を再発明しないでください。 Python は素晴らしいと言われますが、PHP しか知らないので、.net しか知らないのであれば、それも悪くありません。悪いテクノロジーを使用することは恥ずかしいことではありませんが、良いテクノロジーを悪用することは恥ずかしいことです。
アーキテクチャレベルをクリア
アーキテクチャのレベルは初期段階で明確に決定する必要があります。それらが混在していると、事業が拡大したときに元の山が分離できないと非常に苦しいことになります。
Web サーバー (AppServer)キャッシュ (例: Memcached)DB
階層の明確さの 1 つの現れは (LAMP アーキテクチャを例にとります)、たとえマシンが 1 つしかない場合でも、Memcached のインスタンスをセットアップする必要があり、その効果は確かに非常に優れています。一般の人々に、DB にすべてを置くなとは言いません。DB の I/O 負荷はすべてディスクに送られるため、問題はすぐに明らかになります。はい、DB 自体も独自のキャッシュを使用しますが、結局のところ、DB のキャッシュと Memcached の設計の出発点は異なります。
データの冗長性を正しく表示する方法
多くの人はデータベース設計の専門家ではありません。プロジェクトでテーブル構造などを自分で設計する必要がある場合、基本的にはそれを一時的に行いますが、多くの人はこの 3 つのパラダイムをよく覚えています。ウェブサイト 問題は、小さなプロジェクトが数十の時計を生産したということです。このパラダイムのことは忘れてください!
現在、ディスク容量はそれほど高価ではありませんが、時間は常に容量よりもはるかに高価であることを忘れないでください。データ層に取り憑かれる時間が長くなればなるほど、製品への投資は少なくなります。ユーザーが最も気にするのは製品のデザインです。
フロントエンドの最適化は非常に重要です
現時点では、トラフィックが少ないため、訪問者がそれほど多くない可能性があります。トラフィックが少ないほとんどのサイトでは、ページが数メガバイトになる可能性があるため、ページが大きすぎないように注意する必要があります (スタートアップを見た)。 2 日前のホームページのサイズは 4MB でした)、これは驚くべきことです)、ユーザーは 30 分眺めてもページを開くことができません。どのように発展すると思いますか?まず基本的な条件を満たしてから、フロントエンドの最適化を検討してください。
機能を追加するときは注意してください
80/20の原則はありませんか?最も重要なエネルギーを、最も大きなビジネス価値をもたらすことができる場所に投入してください。一部の派手な機能には多額の費用がかかりますが、効果はほとんどありません。小規模なサイトの場合、最も価値があるのはビジネス モデルであり、テクノロジーの素晴らしさではないことを忘れないでください。テクノロジーはビジネスに役立つものであり、自分のスキルをひけらかす必要はありません。
一部の Web サイトは機能を追加し続けており、これらの新機能が機能を壊す藁に変わってしまいます。
パフォーマンスを最初から考える
これはオプションですが、重要です。アプリケーションを設計するときは、最初にプロファイルを考慮する必要があります。アプリケーションが後の段階で効果的に最適化および拡張できるかどうかは、より適切なプロファイル メカニズムがあるかどうかによって主に制限されます。付け加えておく必要があるのは、パフォーマンスを考慮する際には、関連する過去のデータを考慮する必要があるということです。
優れたアーキテクチャは設計されていない
これが最後の追加点です。優れたアーキテクチャは初期設計と関係がありますが、最も重要なことは開発における進化です:
開発->問題の発見->フィードバック->問題の解決(実行)->改善->次のステージへの進化--新たな問題の出現(サイクル)
サイトによっては、ある段階で前進が止まり、ユーザーからのフィードバックを受けても改善の原動力がなくなってしまう場合があります。結局、死んだ豚は熱湯で火傷することを恐れません。私が最も恐れているのは、「ビジネスがそれを許可していない」という言い訳です。想像してみてください。改善しなければビジネスはまだ許可されますか?バリア。
この記事は模倣の雰囲気が強いので、あまり真剣に受け止めないでください。短く、平坦で、迅速な方法でコピーサイトを構築している場合は、自分にとって有益な点を参照できます。同意できない場合は、反論するメッセージを残す必要はありません。
興味がありそうな記事
- PHP の GZip 圧縮機能を使用して Web サイトの JS および CSS ファイルを圧縮し、Web サイトのアクセス速度を高速化します
- 優れたユーザー エクスペリエンスを備えた Web サイトのホームページをデザインするときに知っておくべき 12 のポイント
- 高負荷を実現するためにサーバー、静的化、データベースの最適化、負荷分散を最適化する方法
- Web サイトのアクセス速度を向上させるために Web サイトの PHP 圧縮出力を有効にする方法
- MySQL インデックス操作コマンドの概要 (インデックスの作成、インデックスの再構築、クエリ インデックス、インデックスの削除)
- PHP プログラマーのメモ Web サイトと友達リンクを交換する原則
- PHP の発明者が MVC と Web サイトのデザイン アーキテクチャについて語る
- Google ブログ検索で ping 機能を有効にしてリアルタイムを実現するウェブサイトのコンテンツが含まれる

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









PHPロギングは、Webアプリケーションの監視とデバッグ、および重要なイベント、エラー、ランタイムの動作をキャプチャするために不可欠です。システムのパフォーマンスに関する貴重な洞察を提供し、問題の特定に役立ち、より速いトラブルシューティングをサポートします

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。
