• ベストアンサー
  • すぐに回答を!

RedHatLinux+PostgreSQLを使ったWebシステムのパ

RedHatLinux+PostgreSQLを使ったWebシステムのパフォーマンスチューニングについて。 RedHatLinux+PostgreSQLを使ったWebシステムをある会社に開発してもらったのですが、 検索のパフォーマンスがとても悪く問題になっています。 まずは、システムのどの部分がボトルネックになっているかを調査したいのですが、どのような ソフト、またはコマンドを使って調査すればよいのでしょうか? それと、ボトルネックになっている部分をどのように改善するかを教えていただけますでしょうか。 また、開発してもらったソースは公開されておらず、オブジェクトでの提供になっており SQL文が分かりません。 実行されたSQL文を解析する方法はありますでしょうか? よろしくお願いいたします。

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数104
  • ありがとう数18

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.2

 はじめまして、通りすがると申します。  上記質問の内容ですが、検索レスポンスの遅延として考えられるのは何もsqlによる  検索レスポンスだけではないと思います。  検索した結果が非常に多いが検索時間はわずかで済んでいるにも関わらずそれをweb サーバーが回線を通して、結果的にクライアントへの表示できる形にするために時間を とられている可能性もあります。よって画面設計(遷移))も含めて見直す必要がある かと思います。  例としては、20件、50件、100件と一度に表示できる件数をクライアントで指定 できるようにして、その分がDBサーバーで検索完了したらその分だけ表示する。クライ アントから、次のページまたは、前のページ表示のための指示を受けてからその分の 検索のみを実施し表示する方法もあります。  それ以外にも設計によって遅延している可能性があると思いますので、設計レベルから 見直したほうがよいと思います。  

共感・感謝の気持ちを伝えよう!

質問者からのお礼

お礼が遅くなり申し訳ありません。 回答ありがとうございました。 画面設計を見直しました。

関連するQ&A

  • Apache+PostgreSQL+phpでWebアプリケーション

    こんにちは。 OSはRedhatLinux7.1を使っています。 Apache_1.3.26 PostgreSQL-7.2.1 php-4.2.1 でWebアプリケーションを作ろうとしています。 言語はshift_jisを使いたいと思っているのですが、 データベースに登録したデータを呼び出してWeb上に表示しようとするとeuc_jpで表示されてしまっているようで、文字化けしてしまいます。 データの登録にはwindowsのパソコンからpgaccessを使ってPostgreSQLにアクセスしています。 どのように解決すればいいか教えてください。 お願いします。

  • RedHatLinux9のRHNで、システムの自動アップデートをしたいです

    RedHatLinux9にRHNというシステムの自動アップデートがあるかと思いますが、rhn_registerコマンドを使ったRHNの登録の際、アップデート対象とするRPMパッケージを選択するところがあるかと思うのですが、ここをどのように選択したらよいか迷っています。 RedHatLinux9には、WEB MAIL SSH FTP DNS PPPoE iptables等を使用していますが、ここの選択を、すべてに選択した場合、up2date-noxコマンドを使用してシステム全体のアップグレードを行った時、必要なファイルのみをダウンロード・アップデートしますか? それともWEB MAIL SSH FTP DNS PPPoE iptables以外の例えばDHCPなどのファイルもダウンロード・インストールしてしまいますか?

  • いま自宅(linux)でPostgresqlでデータベースを構築し、1

    いま自宅(linux)でPostgresqlでデータベースを構築し、10万件規模のデータを管理しています。 このデータは日々更新されるのですが、この更新情報を 外部のレンタルサーバ内のPostgresqlに簡単にコピーする方法はないでしょうか? レンタルサーバ側はport=80/443くらいしか通さないので postgresqlに直接接続することができません。 今現在は、 自宅のpostgresqlからsql形式でdumpファイルを作成し、 その中身から比較的新しいSQLを抜き出し、  レンタルサーバ側のphppgadminをたちあげ、さきほどSQLをコピー&ペーストし実行 という面倒なことやってます。 上記を解決する ソフトやツール or レンタルサーバに置くWebアプリサンプル or 参考情報 などあればおねがいします。

その他の回答 (2)

  • 回答No.3

>実行されたSQL文を解析する方法はありますでしょうか? ログを書き出す設定に変更してリスタートすれば、応答時間と共に実行SQLも吐き出されます。 テーブルには、インデックスが貼られている。確認出来なければ、ダンプを取得して テスト用PCへリストアしてpgadminでアクセスすれば確認出来るようになります。 インデックスがアロケートされていないならインデックス貼る。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

お礼が遅くなり申し訳ありません。 回答ありがとうございました。 こういう方法もあるのですね。後々のために参考にさせて頂きます。

  • 回答No.1
  • nda23
  • ベストアンサー率55% (773/1384)

お金を出して開発させたのなら、権利は御社にあるのでは? だとしたらソースを公開させることができます。 Postgresのログの設定を変えれば、実行されたSQLは 記録されるようになります。 ただ、そんな解析より、開発元に「遅くて話にならない」と 改善を要求したら如何でしょうか。 まぁ、何をもって遅いとか速いとかは難しい判断なのですが、 一度、簡単なテーブルレイアウトと、検索条件を開示して、 SQLをこのコミュニティで回答してもらい、ツールで回答の SQLを実行して速度を調べることができます。 ツールはpgAdminIII(Postgres付属)等があります。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答が遅くなり申し訳ありません。 pgAdminIIIというのがあるのですね。 後々のために参考に致します。 ありがとうございました。

関連するQ&A

  • PostgreSQLとMySQL

    OSはRedhatLinux7.1 Apache_1.3.26 php-4.2.3 PostgreSQL-7.2.1 mysql-3.23.52 を使っています。 データベースの勉強をするために Apache+php+PostgreSQL Apache+php+MySQL で同じWebアプリケーションを作っていこうと思っています。 しかし、どのように比較し、どのように勉強していけばいいのか悩んでいます。 PostgreSQLとMySQLではphpの関数が違う事はわかったのですが。。。 よろしければアドバイスお願いします。

  • 今後の Update はどうなるんでしょうか?(RedHat)

    RedHat の Linux 開発が終了し、後継として Fedora Core が出てきていますが RedHat Linux の Update は今後どうなるのでしょうか? * Update と言っても、修正版パッチの事です。 余程システムに深刻な脆弱性などでない限り、リリースされる事はなくなるのでしょうか? それとも、修正パッチすら up2date で配布されない状態なのでしょうか? 現状 RedHat Linux9 でサーバー運営を行っているのですが、この辺りが釈然としないので今後どのように動いたものか考えています。

  • Linuxについて

    春から大学に通うためパソコンを購入をしなければいけないのですが、 XPとLinuxがインストールされているということでした。 一応、大学で推奨のパソコンが販売されているのですがスペックがあまりよくなく 価格も高いのでLinuxについて全くの無知ですが自分でLinuxを入れてみようと考えております。 やはりOSのインストールは難しいでしょうか?? また、 ・tcpdump:パケットアナライザ ・XOrg-devel:X Window 開発環境 ・XOrg-gl-devel:X Window上のOpen GL 開発環境 ・glut:OpenGL 実行環境 ・glut-devel:OpenGL 開発環境 ・postgresql:SQL データーベース PostgreSQL ・postgresql-server:PostgreSQLのDBサーバー ・postgresql-jdbc:PostgreSQLのJDBCのドライバ のソフトウェアもインストールしておくことということでした。 アドバイスよろしくお願いします。

  • PostgreSQLの入れ替え

    PostgreSQLのホントの初心者です。 今使っているLinuxサーバ(RedHat9)になぜかたま たまPostgreSQL(7.3.2)が入っていて、使っていた のですが、この際8.1.4に上げようと思いたちました。 これは、バージョンアップというより「入れ直し」と 考え、まず7.3.2を削除しようと考えて、 # rpm -e postgresql と入れてみたのですが、関連付けられているためか 削除できません。 それで、7.3.2にDBを全部削除してしまえばよいと 考え、5つのDB(template0,template1,test,test2, db1)を削除する方法を調べたのですが、「psql」で はDBは消せないようですし、どれかのDBに入って SQLを動かすと、「自分(のDB)」はけセません。 それと、最初からあった、template0,template1も 削除できませんでした。 DBを消すのが目的ではなく、7.3.2を削除したいので すが、どのようにやったらよいか教えて下さい。 よろしくお願いします。

  • windows環境でのpostgreSQL

    windowsXP Apache2.0.54 PHP5.0.4 という環境なんですが、付き合いでPHP5とpostgreSQLを使ったシステムを頼まれました。 相手の環境はwindowsではなくLinuxらしいので、こちらも同じ環境で開発するのが理想だとは思うのですが、windows環境で開発する事も可能なのでしょうか? PHPからpostgreSQLへの接続をしてIDが返ってくるまでは出来るものの、テーブルへのアクセスが出来ないなどの事例がありまして少し不安に思っています。 突然の質問で恐縮なのですが、この不安を少し取り除くのに協力して頂けないでしょうか? よろしくお願いいたします。

  • Linux(redhat6.0)のモデム設定について

    僕はlinuxをインストールしてから1年になりますが未だにモデムの設定がでません。専門書やweb上で調査したことがあったのですが、一体どの設定でいいのやら全くわかりません。ハードウェア的な問題(winmodem等の)は一応redhatで動作確認済のモデムを使用しているので大丈夫と思いますので以下の点について御解答いただけれ非常にありがたいと思います。 (1)モデム設定 (2)(1)終了後のpppでの設定 (3)(2)以外の接続方法(PPxPなど) (4)上記質問事項が詳しくのっているサイト 以上よろしくお願いいたします。

  • postgresqlとmysqlの違い

    こんにちは。 OSはRedhatLinux7.1を使っています。 Apache_1.3.26 php-4.2.1 PostgreSQL-7.2.1 mysql-3.23.52 を使ってWebアプリケーションを作ろうとしています。 Apache+php+PostgreSQLで、 SJISで書いたphpプログラム(htmlのページの表示もSJISに指定)を使って表示されたページからPostgreSQLにデータを登録しようとするとエラーになります。 Warning: pg_exec() query failed: ERROR: Invalid EUC_JP character sequence found (0x8971) となります。 同じようにApache+php+mysqlでやってみたら登録できます。 PostgreSQLはSJISでデータを登録できないのでしょうか? どこをどのようにすればいいのかわかりません。 初歩的で申し訳ありませんがアドバイスお願いします。

  • PostgreSQLのデータ

    PHPにてデータの入っていないテーブルに対して”pg_result”の処理をすると ”Warning: 0 is not a PostgresSQL result index”という 警告文が出てしまいます。 これを何とか回避したいのです。 また、最悪警告文のみ(Error文ではなく)表示させないようにできればいいのですが方法が分かりません。 お分かりになられる方おりましたら、よろしくご教授ください。 環境: RedhatLinux6.2J apache-1.3.12-0jp1 php-3.0.15_i18n_ja-0vl2 postgresql-7.0.2-2.i386

  • SQLのパフォーマンスボトルネック特定

    サーバーの保守期間切れに伴い、サーバー本体とSQLのバージョンをあわせて今回入れ替えるのですが、もともとMicrosft SQL Server 2008R2 のパフォーマンスが良くなく、まずは入れ替え前の状態で何がボトルネックなのかを調査したく思います。どうすればよいでしょうか。 新システムではCPUもコアが増え、メモリーもより多く実装し、HDDも一部SSD化するので高速になることを期待しているのですが、そもそも入れ替え前のボトルネックを知っておかないとやみくもに増強してもしかたがないので。 ネットにはSQLのパフォーマンスボトルネック特定の情報があふれていますが、専門要員もいないので、詳細すぎる情報は理解できず、できれば簡単に特定したく思います。

  • JAVA + PostgreSQLにてWEBアプリケーションの開発を行

    JAVA + PostgreSQLにてWEBアプリケーションの開発を行っています。 DBのテーブルにXML列を設定しデータを格納しようとすると下記のエラーが発生します。 org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.createSQLXML()Ljava/sql/SQLXML; ウィンドウズアプリケーションを試しに開発しXMLを格納してみましたが正常に処理できました。読み込みも正常でした。 対処方法をご存知の方がいらっしゃればご教授お願いします。