• ベストアンサー

サーバーのスペック

お世話になります よろしくお願いします 現在サーバーの動作が遅く困っています していることは ホームページ運営 PHPによるシステム(データの集計など) ローカルソフトからデータベース接続(お店のレジとして使用) メール一斉送信(500通ぐらい1日1回) ぐらいなのですが データベースのデータが大量にあり データを更新したりするのに非常に時間がかかります データ量は、多くて60000件少なくて0件のデータが入ったテーブルが300個ぐらいです。 データベースの構成に問題があるような気がするのですが 事情により構成を変えることができません そこである程度データが溜まるとサーバーを追加という風にするらしいのですが どれくらいのスペックがあればいいのか全く見当がつかず困っています 現在は、CPUのメーカーを忘れたのですが3.0GHzでメモリが512MB OSがFedora6を使っています データベースはPostgreSQL 8.0.8を使っています 私がサーバー関係に疎いので なにか足りない情報があれば言っていただければ・・・と思います 以上よろしくお願いします

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

  • ベストアンサー
  • ArukuMail
  • ベストアンサー率22% (115/510)
回答No.2

>>データベースのデータが大量にあり >>データを更新したりするのに非常に時間がかかります >>データ量は、多くて60000件少なくて0件のデータが入ったテーブルが300個ぐらいです。 うーん、規模が不明ですがこの程度の件数(日次処理件数)だと そんなに時間はかからないと思いますが >>データを更新したりするのに非常に時間がかかります 正常に更新できますか?デットロックしたことありませんか? 更新時間はどれくらいかかりますか? データベースはCPUのリソースよりメモリーのリソースを多くつまないと 何ぼDBを最適化しても、件数が多くなると時間がかかります。 例えば、サーバーにデータベースをインストールした場合 少なくても50%以上のメモリーを割り当てないとまともに動かないと思った方がよいです DBサーバーだと一般的にメモリーの総容量の75%をDBに割り当てるのが普通です。 感覚的にはOSで必要なメモリー容量を除いたすべてメモリーをDBに割りあてる感じです。 なんでしたら、メモリーを試しに追加してみると言うのも手です

SAY_MAN
質問者

お礼

返信ありがとうございます 自分が思っている程規模的に小さいみたいですね^^; 更新は正常に行われているようなんですが デットロックはわかりません。急遽担当にならされたので すいみません、調べてみます CPUよりメモリーのほうが重要なのですね ありがとうございます

その他の回答 (2)

  • maguro999
  • ベストアンサー率21% (59/273)
回答No.3

外部公開のサーバでFedoraって時点であり得ません。 >私がサーバー関係に疎いので 今頃質問者が気付かないだけでとっくに踏み台にされているでしょう。 http://tmaeda.s45.xrea.com/20041101.html サーバ公開は疎い奴がやるのは全世界のインターネット利用者にとって 迷惑な危険行為です。

SAY_MAN
質問者

お礼

返信ありがとうございます セキュリティについて私自身もいろいろと調べてみて 信用のある専門業者に任せたほうがいいのではないかと 上司に進言はしているのですがなかなかどういう危険性があるのかとかを 伝えられず、とりあえず購入の方向で調べてくれと言われています もういちど上司と掛け合ってみます 貴重なご意見ありがとうございました

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

6万件で300個程度のテーブルだったらまだまだ小規模の部類だと おもいます。 これで重いというのは、サーバースペックの問題ではなく 単に非効率なSQLを書いている可能性がたかいかと。 EXPLAINなどで効率的なSQLになっているか確認してみては? DBの構成やSQLは書き方によって何百倍もスピードが違うこともあります。 とはいえ、SQLをふくめて「構成をかえられない」のであれば ハードを入れ替えて無理やりやるしかないでしょうけどね・・・。 とりあえず、メモリはもっとあった方がよいかもしれません。 topコマンドで負荷状況を確認しながら、ボトルネックを さがしてみてください。

SAY_MAN
質問者

お礼

返信ありがとうございます SQLの方は変更ができるのでいろいろと確認してみます >6万件で300個程度のテーブルだったらまだまだ小規模の部類だと >おもいます。 そうなんですね。これでいっぱいいっぱいになってるのに 大規模とかになると恐ろしいですね・・・

関連するQ&A

  • PostgreSQLサーバのマシン交換

    サーバのマシン交換を行います。 現在のPostgreSQLのデータを新しいマシンに移すにはどうしたらよいでしょうか? データベースについては、初心者なので困っています。 よろしくお願いします。

  • サーバのスペック選定について

    これから今運用しているサービスの、データセンターを移行するのですが サーバの運用などもまともにしたことがないので、何から手をつけたらよいのか 分からない状況です。 今回お聞きしたいのは、データセンターを移行する際に考慮すべき項目と、 サーバ構成の考え方です、 現状のデータセンターでは、WEBサーバを数台用意し、それをロードバランサーで 分散しており、データベースはマスターのDBサーバと、各WEBサーバ内に用意した DBにレプリケーションしてスレーブとして使っています。 新しいサーバを選定する際に、WEBサーバやDBサーバのスペックを選ぶかと思うのですが そのスペックの選定基準が分かりません。 サーバのスペックを決定するための数値(PV数など?)を教えて下さい。 また、今のサーバ構成は退職された社員の方が設計されたために、なぜこういった構成になっているのかがよくわかりません。 新しく最適なサーバ構成をしようと考えているのですが、これについても どのように構成を考えたらよいかを教えて下さい。 本当に何もわからず、稚拙な文章での質問で大変恐縮ではございますが、 もし参考となるような情報をご存知でしたらご教示していただきたいです。

  • お薦めスペック

    現在、Windowsサーバを運営しています。これとは別にLinuxでサーバを組むことになったのですが、お奨めのPCスペックなどありますか? またズバリお奨めの機種などがあればご教授願います。 予定では、 fedora core 4を導入し、GUIも入れる予定です。 サーバ用途としましては、FTP、メール、ファイルなどで24時間の運営を考えています。 よろしくお願い致します。

  • 公開しているサーバにローカルから更新をしたいです。

    初めて質問を投稿させていただきます。 現在Webサーバを立ててSNS(OpenPNE)を公開しているのですが。 ローカルからの更新が出来なくて困っています。 原因はSNSのベースのURLをグローバルのIPアドレスにしている事 だと分かっているのですが、解決方法がわかりません。 どうしたらローカルからも、グローバルからも更新を行う事ができるのか 解決方法を教えてください。 よろしくお願いします。 サーバ構成 OS:fedora 9 webサーバ:apache2.2

  • FedoraのApacheやPostgreSQL等のディレクトリ構成

    最近、はやりの仮想マシンを使ってFedora 9をインストールしました。その時、ほぼ最新バージョンだったため、後から入れるのも面倒だと思い、ApacheやPHP、MySQL、PostgreSQL等をインストールしました。 ところが、それらの設定ファイルや実行ファイルがどこにあるのか分かりません。今まで、こういったサーバやデータベースはソースからしかインストールした経験がなかったので、見当が付けられません(yumも殆ど触ったことがありません)。 調べたところ、Apacheの公開ディレクトリは/var/www、httpd実行ファイルは/usr/sbinにある事は分かったのですが、他はまだ分かりません。 ApacheやPostgreSQL等のディレクトリ構成は、インストール直後ではどのようになっているのでしょう? よろしければ、お教えください。

  • 別のサーバーにあるDBに対してSELECTした結果が帰ってこない。

    別のサーバーにあるDBに対してSELECTした結果が帰ってこない。 質問はタイトル通り、別のサーバーにあるDBに対してSELECTした結果が帰ってきません。 あるwebサイトを新しいサーバーに移行する事になりました。 データベースはwebサイトと同じサーバーに準備していたのですが 新しいサーバーに移行する際に別のサーバーに準備する事になりました。 そして新しい環境で動作検証をしていて特に問題なく進んでいたのですが・・・・ 旧環境では特に問題なくSELECTした結果が帰ってきていましたが 新しい環境ではデータ取得の際に件数が多くなるとSELECTした結果が帰ってきませんでした。 SELECTした結果は約7000件~30000件のデータを取得するようになっております。 (新しい環境で1000件近くのデータを取得しようとしたら約5分かかりました。) これはSQL文が悪いのでしょうか、それともphpの設定が悪いのか、postgresqlの設定が 悪いのか特定出来ずに困り果てております。。。 何でも構いませんのでご助言を頂けたら幸いです。 ■環境について □以前の環境 同じサーバー内にphpとpostgresqlがある Postgresqlのバージョンは8.0.3で、phpのバージョンは5.0.5です。 □現在の環境 別のサーバーにphpとpostgresqlがある Postgresqlのバージョンは8.1.18で、phpのバージョンは5.1.6です。 ■データ取得テーブル □テーブル名 テストテーブル □フィールド数 100 (登録時刻フィールドはタイムスタンプ型です) □SQL文例 Select * From テストテーブル Where 登録時刻フィールド >= 'yyyy-mm-dd' AND 登録時刻フィールド <= 'yyyy-mm-dd'

  • Webサーバー経由でローカルにあるPostgreSQLサーバーにAccess + ODBCで接続する方法

    現在公開しているWEBサーバーがあり、元々は同じサーバーにPostgreSQLのデーターベースサーバーも入れてありました。 最近WEBサーバーとローカル接続になる新たなサーバーを用意し、DBはそちらに移しました。 両サーバーとも設置場所は社外のデータセンターです。 これまで社内のWindowsクライアントから、Access + ODBCでDBの操作をしていたのですが、DBサーバーを外から見えない所に置いたため、接続が出来なくなってしまいました。 社内からはどうしてもAccessを使用したいため、このDBサーバーに、公開しているWEBサーバー経由でODBC接続できるような方法を教えていただけますでしょうか。 環境は下記の通りです。 ・WEBサーバー Redhat Linux 7.3 ・DBサーバー Redhat Linux 7.3 PostgreSQL 7.2.8 ・Windowsクライアント Windos 2000 Pro , Windows XP Home/Pro お手数おかけしますが、よろしくお願い致します。

  • 停止したpostgresqlサーバのデータを取出せたい

     linuxマシーンでposgresqlサーバを運用しています。 事情により、OSが起動できなくなりました。  ほかのマシーンでHDDの中のpostgresqlサーバの データ:/var/lib/psql/dataを見えて編集などができ ます。  データベースのデータを取り出したいですが、アドバ イスをよろしくお願いします。

  • サーバで上手く動かない?

    こんばんわ。 お世話になっています。 アクセス集計を行うCGIがあるんですが、ローカルでちゃんと動作確認できたのにサーバにあげたら上手く動いてくれません。 CGIはあるログファイルからデータがあればカウントしてグラフ化し表示するものです。 一応、ちゃんとサーバ上で動作していたものらしい上、ローカルでちゃんと動作したのでスクリプトミスと言うことはないと思います。 考えられるとしたらパーミッションの設定かと思い、700,705,755,777と試したのですが結果は変わりありませんでした。 他に考えられる原因があるとすれば何かありますか? ちなみにローカルで動作させた際のOSはWindowsです。 サーバはUnixですが、動作していたと思われるサーバもUnixでした。 Perlのバージョンは共に5.6です。 よろしくお願いします。

    • 締切済み
    • CGI
  • Flashでのサーバとの通信について

    ブラウザ上で動作するFlashプログラムを計画しています。 私は DelphiやC++、PHP、Java 等は開発経験がありますが、今回の Flash は全く初めてなのでよくわからないので教えてください。 作成したいプログラムは以下のようなものです。 (1)サーバのデータベース(PostgreSQL)に1万件程度の情報が登録されている (2)Flash上でキーワードを入力し検索ボタンをクリックすると該当データが一覧表示される (3)一覧の中から希望のデータを選択すると、詳細情報が表示される。 (4)詳細情報はテキスト情報と、1件につきBMP画像データが10個程度。 ローカルでの画面表示はできそうな気がするのですが、サーバとの通信(特に、BMP画像データ転送)をどのようにすればよいのかわかりません。 サーバとの通信は、XMLSoket というものがあることがわかったのですが、 簡単なテキスト情報のやりとりはできそうですが、BMP画像データを受信できるのかわかりません。 サーバ側はすでにPHPで稼働していますので、HTTPでURLを投げて結果を受け取ることができると良いのですが、そうはいかないのでしょうか。 このような場合、Adobe Air を使うと統合的に扱うことができそうですが、まずは Air を使わずに Flash のみでできないか検討したいと思います(←この考え方が間違ってますでしょうか?) Flash のみで実現するのが難しければ、 (1)HTML+Ajax (2)Adobe Air というような感じになるかと思います。これらのメリットデメリットなどもあわせて教えて頂けると助かります。

    • ベストアンサー
    • Flash