性能テスト、性能改善に関するお話し

こんにちは、エンジニアの尾形です。

今回は、Webシステムの性能テストについて、テストの実施、改善までの流れを紹介させていただきます。

まずはじめに、システムの性能とは何でしょうか。簡単に言うと「何らかの要求に対する結果を返す力」のことです。

性能に対する考慮が不十分であったり漏れていたりすると、問題が発生する場合があります。
次のようなケースは実際に体験したり聞いたりしたことがあるのではないかと思います。

・チケットの予約サイトに受け付け開始直後にアクセスしたらつながらない
・テレビで放映されたお店のサイトに放映直後にアクセスしたらつながらない

これらの事象は、サイトへのアクセスが殺到したことによりサーバーの限界を超えてしまい、正常に処理が行えなくなったと推測できます。

システムの性能はシステム開発における重要な要素のひとつです。
性能テストって何?といった方や、性能テストを行ないたいが何をすればよいのかわからない、といったような方の参考になれば幸いです。

<続きを読む>

「INDEXによる高速化」は本当なのか!?PostgreSQLでパフォーマンスチューニングしてみた

お久しぶりですね。
みんなの恋人(ラバー)、リモートワーカーの仲井です。

カタリストで作っている「とある魔術系のサイト」では、それなりに魔力(規模)が大きいためにどうしても詠唱(検索処理)が遅くなってしまうことがありました。
テーブルによっては1000万超のスペル(レコード)もあり、高名なハイウィザードでもないかぎり、ここの詠唱(検索処理)がボトルネックになることも多いです。

ちょっとひねって面白くしようと思ったけど、上司のウケも悪いし、続けるのもめんどくさいからこの魔術設定はやめますね。

(大規模サイト担当してる人から見ればたった1000万でしょ? となるかもですが、カタリストでは大きい方なのです。というかビッグデータを扱うサービスと比較するのは用途もスペックも違うんだしナンセンスですね。)

ここまで大きくなくても、数千、数万レベルのレコード数であっても設計を間違えるとそれがボトルネックになることもあり、必ずしも大容量データだと遅くなるというわけではありません。大容量でも適切なチューニングがされていれば問題はないのです。

DBのパフォーマンスチューニングについてはたくさんのサイトやブログで紹介があり、皆さま既に知識としてはご存知とは思いますので、細かい内容は無視して「チューニングすると、実際これくらい差が出る」ということを、私がこれまで経験した内容を紹介したいと思います。

<続きを読む>

開発者ブログをはじめます

開発者ブログはじめます。

はじめまして、代表の大井田です。
このたび、自社の開発者ブログをはじめることにしました。

なぜ、開発者ブログをはじめるに至ったか簡単な経緯をお話ししたいと思います。

当社は、サーバ構築・保守・Webシステムの受託開発等を主な業務としています。
お客様ソリューションありきのシステム開発となるため、当たり前ですが、重要なファクターの一つに低コストを念頭に考えなければなりません。

しかしながら、今の時代は新しい技術やコーディング手法等が沢山出てきていて、エンジニア魂としては、
本当に良いプロダクトを作る上で、いろいろと試したい技術やソリューションが沢山あります。

あ、僕はもともとエンジニアでした。。
昔はガリガリ書いていましたが、今は優秀な社員が沢山いるので、僕はもうコーディングはしていませんけど。
<続きを読む>