WEBページにおいてパフォーマンスの表示速度を上げることはとても重要です。
Googleの調査したデータによると、ページの表示が3秒以上掛かったサイトに対して待たずに離脱してしまうユーザーの割合は53%以上とのこと。
この記事ではそんな重要な要素であるページ表示速度について、改善するためのいくつかの方法ををご紹介したいと思います。
これらに当てはまる方におすすめの記事となっています。これを読めばあなたのサイトの離脱率を下げる方法が分かりますよ。
パフォーマンスを最適化する時、クエリの最適化が頭に浮かぶものです。
なぜかというと、本当に動いているウェブには、データベース量がかなり大きくて、数百MBからGBまでにかかっているからです。
つまり、クエリ文は数十万のレコードがあるテーブルで抽出を実施しています。DBの抽出を実現する時、以下の方法がいくつか適用しています。
まず、「Indexとは?」を説明したいと思います。 Indexとはデーター型の1つ種類であり、データ表にある一定のフィールドの値を含め、該当する行目(ロー)を指します。
では、Indexを貼ってからページ表示速度がどのように改善されるのでしょうか?
例:SELECT * FROM users where name = ‘Lempi Veum’;
56.000レコードがある「users」テーブルで「name」にIndexを貼らない場合とIndexを貼っている場合で抽出して、比較しましょう。
Indexを貼っている場合の速度はあきらかに早いですね。
そしてページ表示の速度を考慮する時、DB内のフィールドでIndexを貼るべきです(できれば、DBを構築する段階から)。またIndexを貼る時は、以下の段階に優先順位をつけて対応してください。
「The query cache stores the text of a SELECT statement together with the corresponding result that was sent to the client. If an identical statement is received later, the server retrieves the results from the query cache rather than parsing and executing the statement again. The query cache is shared among sessions, so a result set generated by one client can be sent in response to the same query issued by another client.」
上記の文章がMySqlのホームページで「query cache」を定義しているものです。
複数のユーザーが同じいページにアクセスする時、抽出結果が既にcacheに保持されておきました。
そのため、他のユーザーはそのページにアクセスすると、cacheからクエリした結果を出してページの表示速度が速くなっていきます。
詳細な方法はこちらでご参考ください。
しかし MySql 5.7.20バージョンからは、query cacheが使えなくなります。 MySql 8.0バージョンから完全に除外されることになります。
その他の方法はLaravel等のフレームワークを使ってください。 cache queryを保存する為に、既にサポートしているので、とても便利です。
| 123 | $posts = Cache::remember(‘index.posts’, 30, function() {return Post::with(‘comments’, ‘tags’, ‘author’, ‘seo’)->whereHidden(0)->get();}); |
DB内の抽出を最適化にしても、ページ表示速度があまり改善されない場合、どうすれば良いでしょうか。
今の課題で対応した方法(ロジック)を変更する方向で検討してみてください。
例えば、あるシステムの集計機能を実装しています。日間や年間をかけて膨大なデーター量で抽出しないといけません。
その時、リアルタイムにてデーター集計は大変ですよね。
一方、Cronjなら毎日・毎年等の集計が何かの作業で定期に実行され、結果を保存することができるのです。
これで、実行に時間がかかる作業は裏で実施されると思います。つまり、ユーザーが短時間で集計の結果を見ることができるということです。
このように、時間がかかるのにリアルタイムで不要になる作業は裏(underground)で実施した方が良いと思います。
cronjobを導入する前にDBのCPUの消耗
cronjobを導入した後DBのCPUの消耗
現在、ウェブサイトのほとんどがフレームワーク(Laravel, WordPress, CakePhp, …)で開発されています。
フレームワークなら既に最適化されているので、このメリットを活躍すれば工数が非常に削減できると思います。
Laravelで利用する場合、以下のいくつかポイントをオススメします。
Laravel の既存コマンドを使ってキャッシュをコンフィグする:
php artisan config:cache
php artisan route:cache
php artisan view:cache
LaravelはDBを対応する時、素晴らしいORMを提供しています。
EloquentのようにDBの各テーブルからabstracts modelを作られます。
Eloquentはeager loadingを利用する時、連携されているobject modelを全て抽出し、最初のクエリにレスポンスする為です。これはアプリケーションのレスポンスを追加されます。
Lazy loadingは次のようにクエリします。
| 1234 | $books = App\Book::all();foreach ($books as $book) {echo $book->author->name;} |
同様に、 eager loadingは次のようにクエリします。
| 1234 | $books = App\Book::with(‘author’)->get();foreach ($books as $book) {echo $book->author->name;} |
Laravelではパフォマンスを最適化する時、RAMの中にCacheとsessionを保存するのが一番良い方法です。
その他に、「Redis」 や「MemcachedCache」を利用すると、sessionの抽出する速度も改善できます。
Laravelでは、Laravel Mixを提供して、複数のcss/jsを同一のcss/jsにコンパイルするツールです。
そして、css/jsファイルを読み込む時、時間を短縮することができます。
いかがでしょうか。WEBのページ表示速度を改善する方法について紹介していきました。
勿論、本日紹介紹介した方法以外にもパフォーマンスを最適化する方法が様々あります。
実用に応じて、相応しい方法を簡単に探して利用していくようにしましょう。
パフォーマンスの最適化は大切な作業でウェブサイト開発から稼働にかけてずっと対応し続ける必要があります。今回紹介した方法を参考にぜひWEBのページ表示速度を改善してみてはいかがでしょうか。
dehaでは、5年ほど前から、ベトナムオフショア開発を行っています。
ベトナムでオフショア開発を行う際の費用や、エンジニアの質を知りたい方は、無料で見積もりいたしますので、お気軽にお問い合わせください。
参考サイト
国内IT人材不足、円安の長期化、開発スピードへの要求高度化。 こうした環境変化の中で、オフショア開発は一時的な選択肢ではなく、日本企業の開発戦略における「前提条件」となりつつあります。 本記事では、2025年に実施された各種調査データを基にした『オフショア開発白書』の内容を整理しながら、2026年に向けたオフショア開発市場の動向を読み解いていきます。 オフショア開発に興味がある方 開発効率を上げたい方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めばオフショア開発の最新の動向が丸わかりですよ。キーワードは「拡大」「成熟」「戦略化」です。 関連記事: 【2025年】『オフショア開発白書』から見る市場動向 【2024年版】オフショア開発国のランキング|委託先国の特徴とは? 【2023年版】オフショア開発白書から読みとくオフショア開発の現状と最新の市場動向 (more…)
2026年のベトナムは、東南アジアの中でも特に「デジタル化が成熟段階に入りつつある国」として注目を集めています。 スマートフォンの普及、ソーシャルメディアの浸透、高速通信インフラの整備、そして若く人口ボーナス期にある社会構造が相まって、デジタル技術はすでに人々の日常生活、経済活動、情報収集の中核となっています。 この記事では、DataReportal「Digital 2026 Vietnam」レポートをもとに、2026年のベトナムにおけるデジタルデバイス、インターネット、ソーシャルメディア、主要プラットフォームの利用状況とその背景、そして今後の方向性について総合的に解説していきます。 ベトナムのデジタルの最新情報が気になる方 社内のIT人材が不足している方 ベトナムのIT人材が気になる方 これらに当てはまる方におすすめの記事となっています。これを読めばベトナムのデジタルの最新情報や動向が丸わかりですよ。 関連記事: 【2024年版】ベトナムのDX市場の状況と動向 2025年のベトナム デジタル状況、最新動向 (more…)
ソフトウェア開発の歴史において、エンジニアの核心的な能力は「コードを書く力」で測られてきました。しかし、AI技術が飛躍的に進歩し、人間よりも速く一貫性のあるコードを生成できるようになった今、その価値の軸が大きくシフトしています。 これからのエンジニアに求められるのは、単なるプログラミングスキルではなく、いかに高度なAI活用を行い、システムに何を許し、何を許さないかという「制約」を正しく設計できるかという点にあります。 (more…)
クラウドコンピューティングは、企業や政府のデジタルトランスフォーメーション(DX)を支える基盤です。 データ保存、アプリケーション実行、AI・データ分析など、あらゆるITインフラがクラウドを通じて提供されるようになった現代において、クラウド市場の動向は企業戦略の要です。 2026年は世界的に5G、AI、IoT(モノのインターネット)、機械学習などがクラウド活用を加速させ、市場全体が大きく成長すると予測されています。 この記事では、2026年のクラウド市場について世界市場の最新シェアや日本国内のクラウド市場シェアとその特徴などを紹介していきます。 企業の IT戦略・DX推進担当者の方 クラウド関連ビジネスに関わる方 これらに当てはまる方におすすめの記事となっています。これを読めば2026年のクラウド市場のシェアやトレンドが丸わかりですよ。 (more…)
2030年に向けて、日本のIT市場は単なる成長産業ではなく、社会全体を支える基盤(インフラ)としての性格を一層強めていくと考えられます。 背景には、世界規模で進行するデジタル化、AI技術の急速な発展、クラウドサービスの定着、そして日本固有の人口減少・地方分散という社会構造の変化があります。 この記事では、世界のICT市場動向を起点に、日本のソーシャルメディア、メタバース、クラウド、データセンター、情報セキュリティといった分野が、2030年に向けてどのように変化していくのかを多角的に整理していきます。 IT市場の未来が気になる方 AI技術がどのように発展していくか気になる方 これらに当てはまる方におすすめの記事となっています。これを読めば日本のIT市場の未来が丸わかりですよ。 (more…)
日本は2030年代に入ると急激に人口が減少し、労働力全体の供給が縮小するとの構造的な課題を抱えています。 特にデジタル技術の中心となるAI(人工知能)やロボットの開発・利活用を担う人材の不足が深刻になるとの推計が経済産業省の将来試算で示されています。 現在の教育・採用のままでは、2040年にAI・ロボット関連の人材が約326万人不足する可能性があるとされています。 この数字の背景には、生成AIの急速な普及やデジタル技術の社会インフラ化がある一方で、既存の人材供給は追いつかず、求められるスキルとのミスマッチが拡大している実態があります。 この記事では、こうした人材リスクの本質を整理しつつ、デジタル人材減少時代を生き抜く方策として、オフショア(海外)によるグローバル開発チームの構築戦略をご紹介します。 人材不足にお悩みの方 オフショア開発に興味がある方 これらに当てはまる方におすすめの記事となっています。これを読めばデジタル人材減少時代をどう生き抜くかその方法がわかりますよ。 (more…)