ログイン

WEBサービスの爆速表示を目指そう!〜インデックス編〜

 2021.6.22 イクメンゴリラー福田 ゴリラーブログ ブログ

 

 

 

突然ですが、エンジニアのみなさん、

WEBサービスの開発時に、表示速度等のパフォーマンスを意識されていますか!?

私は、MGでエンジニアとして働くようになった当初は、とにかく動作するものをつくるのに必死でした。

しかし、最近はお客様と直接お話させて頂く機会も増えてきてこともあり、

サービスの機能だけでなく、使いやすさもの重要性を痛感する日々です。

 

そこで今回は、WEBサービスの表示速度を改善する方法についてのお話です。

 

WEBサービスのパフォーマンスををあげるには?

 

WEBサービスの表示速度をあげるための手法としては、ザッと以下のようの方向性があるかと思います。

 

方法1.サーバーの性能を上げる

 

いわずもがな、サービスを提供するマシンの処理速度をあげる方法です。

すぐに効果が期待できますが、ランニングコストが上昇します。

 

方法2.開発に使用する技術を見直す

 

2つ目は、使用する技術(言語やライブラリー等)を見直す方法です。

先日の寿司ゴリラーのブログでもGo言語の紹介がありましたが、

使用する技術により処理速度は変わってきます。

しかし、既存のサービスでの変更するとなれば、ゼロから開発するのと同じか、

それ以上の工数がかかってしまうため、すぐに対応するのは難しいかもしれません。

 

方法3.プログラムを見直す

 

次に、プログラムを見直方法です。

同じ動作を実現するにも、実装方法は千差万別です。

ソースコードの書き方により、処理速度が何百倍、何千倍と変わることがあります。

特に処理の遅い場所から、少しづつ改善することが可能ですが、

プログラム全体を修正するとなるとそれなりの工数が必要となります。

また、ある程度開発のスキルが必要になります。

 

方法4.コンテンツ数や容量を下げる

 

次に、写真や動画等のコンテンツ数、容量を抑える方法です。

画像や動画は読み込みに非常に時間がかかります。使用する場合は、ファイル圧縮等で容量を抑える必要があります。

 

方法5.データベースの設定を見直す

 

最後に、データベースの設定を見直す方法です。

通常のWEBサービスでは、顧客情報等のデータをデータベースに保存しています。

実際にデータを使用する際は、データベースから情報を検索し、必要なデータを呼び出します。

そのデータベースの設定を変更することで、処理スピードが大幅に改善することがあります。

 

おすすめの方法は?

 

WEBサービスのパフォーマンスを上げる方法を思いつく限り挙げてみましたが、

その中でもオススメは、「方法5.データベースの設定を見直す」です。

一見とっつきにくいですが、他の方法に比べて時間お金もかけずに、効果が期待できる方法です。

 

今回は、その「データベースの設定」のひとつである「インデックス」機能について紹介します。

 

インデックスとは?

 

インデックスとは、言わばデータを検索しやすくするための「目次」のようなものです。

データベースからほしいデータを呼び出す際に、全てのデータを確認していては時間がかかってしましますよね。

そこで本の「目次」のように、検索する際に必要なデータのみをまとめておくことで、検索を高速にする手法です。

 

インデックスは、本当に効果があるのか確認してみましょう。

 

確認環境 MySQL5.7

 

試し「書籍」の情報をまとめる「BOOKS」というテーブルを作成して、書籍のデータを100万件用意しました。

 

そこで著者ごとの番号から書籍を探してみます。

 

結果

 

 

データの取得に1.46秒かかっています。

 

次に、インデックスをつけてみます。

 

 

結果

 

 

データ取得にかかる時間が0.64秒になりました。

 

たったこれだけの作業時間で、処理時間が半分以下になりました。

 

以上、簡単な説明ではありますが、

WEBサービスのパフォーマンスを上げる方法として、特にインデックスについて紹介しました。

 

これからも、ユーザーにとって使いやすいサービスの開発に努めていきたいと思います!

 

© 2021 Mountain Gorilla Co., Ltd. 

プライバシーポリシー

%d人のブロガーが「いいね」をつけました。