![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
御世話様です。
今、ある新サイト構築をシステム開発会社へ外注しているおります。
で、Webサーバ1台(仮に、「マシンA」とします)、DBサーバ1台(仮に、「マシンB」とします)という構成です。
ですが、ホームページにアクセスしたときの表示速度が異常に悪く、
また、DBサーバの負荷も高く(バックエンドでCSVからDBへの取り込みを定期的(cron)で行っているため)、
「負荷分散」をしているとのことです。
で、「負荷分散」として具体的にやっていることは、
「マシンA」上の必要なファイル郡を「マシンB」にもコピーし、
サイトにアクセスした人によって、ランダムに「マシンA」と「マシンB」へと、
アクセス先を振り分けているとのことです。
ですが、マシンBにあたった人は、前述のようにマシンBの負荷がそもそも高いので、
やはり、ホームページの表示速度が遅くなってしまうとのことです。
「で、マシンをもう1台増設したほうがいいかもしれない」と言っています。
--
自分は、あまりシステム開発(特にネットワーク関連)には詳しくないのですが、
かなり矛盾しているように思われます。気のせいでしょうか?
「ホームページにアクセスしたときの表示速度」が遅いといっても、
SQL文が無駄に長いものになっているため、DBの負荷が高くなっているんじゃないの?とも思うのですが。
正直、システム開発会社の言っていることも、
正確なことを言っていない可能性が高いです。
(でも、諸事情により、システム開発を他の会社に変えるということはできません)
こういった状況の場合、本来は、具体的に、どのように負荷の対策をはかるべきなのでしょうか?
以上、お助け願えれば幸いでございます。
No.3ベストアンサー
- 回答日時:
負荷が重いと分かっているDBサーバーに負荷を移してどうするんでしょう?駄目な会社ですね。
1.そもそもWebサーバーの何が重いのか?
2.DBサーバーの負荷が大きいのは何故か(CSV取り込み=重いではないです。処理が適切なら負荷も下がります)
3.表示速度が遅いのは何が原因か?(Webサーバーは本当に負荷が大きいのか?全部DBサーバーから引っ張ってきていないか?)
下手な対策をするまえに、原因を究明するのが先です。
チューニング、障害対策の基本です。
お礼が大変遅くなりまして申し訳ございません。
以下、インライン返信にて失礼いたします。
>1.そもそもWebサーバーの何が重いのか?
>2.DBサーバーの負荷が大きいのは何故か(CSV取り込み=重いではないです。処理が適切なら負荷も下がります)
>3.表示速度が遅いのは何が原因か?(Webサーバーは本当に負荷が大きいのか?全部DBサーバーから引っ張ってきていないか?)
そうですね、問題点の切り分けをすべきですね。
ただ、これを外注先にいまの時点で言うと、かえってテンパルと思うんですよね・・・。
PMの分際で3日くらいインフルエンザ(ほんとかよっ)で仕事できてなかったらしいですから。
仮にそうだとしても、ドキュメント管理ができていれば、他の人がプロマネをできるはずなんですが・・・。
>下手な対策をするまえに、原因を究明するのが先です。
>チューニング、障害対策の基本です。
了解しました。
ありがとうございました。
No.2
- 回答日時:
文章を読む限り、負荷分散を考慮しすぎて全く違うアプローチをした「典型的な失敗例」のように思えます。
「バックグラウンドでCSVの取り込み」なんて愚の骨頂というか…
普通こういうのは日次バッチでしょう。
データベースの最適化もチープなんでしょうね。きっと。
質問者様側から性能要求書を提示し、開発ベンダには性能評価テストを要求し、要求している性能に満たない場合は支払いしないような契約を結んで、システム再構築を依頼した方が幸せかも知れません。
開発ベンダに任せっきりだと、必要のない出費をする羽目になるのでクライアント側としても勉強して費用以上のシステムを納品してもらうよう努力してください。
お礼が遅くなりまして申し訳ございません。
以下、インライン返信にて失礼いたします。
>「典型的な失敗例
まったくそのとおりです。
>データベースの最適化もチープなんでしょうね。きっと。
こないだ、「DB設計書だせ」といったのですが、論理名(でしたっけ?とにかく日本語)もないし、PKEYやFKEYの情報もないし、備考もほとんど書いてないし、ER図ないし・・・という漢字です。
最適化以前の問題です;;
>質問者様側から性能要求書を提示し、開発ベンダには性能評価テストを要求し、要求している性能に満たない場合は支払いしないような契約を結んで、システム再構築を依頼した方が幸せかも知れません。
そうですね、ただ初期リリースまで日にちがないので、とりいそぎつくるしかない状態です。今後、そうしたいと思います。
(実は、自分がこのプロジェクトにはいったのもつい最近でして。。。)
>開発ベンダに任せっきりだと、必要のない出費をする羽目になるのでクライアント側としても勉強して費用以上のシステムを納品してもらうよう努力してください。
そうですね。もっと勉強します。
ありがとうございました。
No.1
- 回答日時:
そもそもせっかく2台構成にしているのに、そのうち1台をDBとWebサーバ機能を同居させているのがもったいないような気がします。
それに、マシンのスペックはどれくらいですか?最近のマシンであれば、1台でも相当のアクセス量に耐えられるスペックですよ。
また、ご質問では何がボトルネックになっているのかが分かりませんので、マシンを増設しても解決するかわかりません。
また、SQL文が長いのであればチューニングしたり、まずはハードを増設しなくてもできる対策があるはずです。
個人的には、
・まず、マシンAをWebサーバ専用に、マシンBをDBサーバ専用にします。
・可能ならば、「CSVからDBへの取り込み」の時間を深夜等アクセスが少ない時間に変えます。
・次にDBのSQLをチューニングします。
・それでダメなら、レスポンスタイムやCPU使用率、メモリ使用率等を測り、ボトルネックを見つけます。
・ここで、CPUやメモリの増設をします。
・それでもダメならばハード増設
こんな流れはいかがでしょうか?
しかし、その業者もダメですね。ハード増設が必要ならば、その根拠もちゃんと言えという感じですね。
お礼が大変遅くなりまして申し訳ございません。
以下インライン返信にて失礼いたします。
>マシンのスペックはどれくらいですか?
実は、基本的にはうちの会社はサイト制作というよりもサイト運営がおもなので、スペックについては現状こまかく把握していません。
というよりも、外注のコーポレイトサイトを見たのですが、
●当初のさいとこんせぷとはあいまいでもかまいません
●それをもとに、じっくり【ヒヤリング】して、しかるべき環境やシステム開発にとりかかります。
とかいてあるんですね。
なのに、スペックについて教えてといっても放置プレイだし、
そもそもテストリリース直前なのにDB設計やってる・・・
(しかも、「ER図」ってなに?状態・・・)
しかも、DB設計書が複数存在する。バージョン管理をしていない。
・・・ということでだめだめなんです。
損害賠償の可能性もあるでしょうね。
//本当は納期から大幅におくれているんです。
//プロマネのおやじも、プロマネしてなくて、「私もプログラミングしてますから」(<=ぜったいできない)とかいうし・・・。
まいっちゃったな。
>・可能ならば、「CSVからDBへの取り込み」の時間を深夜等アクセスが少ない時間に変えます。
ものすごいデータ量があるので、(cron(or at?))で、
18時間くらいかかったとか・・・。
なので、教えていただいた対策をとるしかないですね。
どうもありがとうございました。
--
対応策につきまして、丁寧にご開設いただきましてありがとうございます。
プロマネの人、XSSも、SQLインジェクションも、ディレクトリトラバーサルも知らないっぽいです。
切りのいいところで、他社に発注する予定をたててます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 計算機科学 これは迷路を解くというよりも、いかに速く最速で走り切れる経路を見出せるかや、マシン性能、プログラミン 3 2023/07/17 16:27
- ドライブ・ストレージ 複数のパソコンが自宅にあり、互いの固有のHD、光学ドライブを相互にアクセスする方法。その2 3 2022/12/16 09:54
- その他(ヘルスケア・フィットネス) スポーツジム 行う間隔? それとも負荷軽く? 3 2022/11/09 16:22
- ウォーキング・ランニング 膝への負荷 ウォーキングと、自転車マシンでは どちらが負荷は大きいですか。 厳密に何キロとかは分から 5 2022/07/11 16:08
- 消費者問題・詐欺 通っている日焼けサロンなのですが、ランプが切れていても交換をしない、マシンが故障しても平気で数週間修 2 2022/10/10 10:55
- その他(コンピューター・テクノロジー) 50台の織機から回転数を取得・集計しモニターに表示したい 2 2022/11/05 15:48
- その他(ソフトウェア) Corei7-12700とVmwareWorkstation17Proの相性は悪いの? 1 2023/01/09 20:21
- 情報処理技術者・Microsoft認定資格 応用情報処理技術者試験のシステム利用率の計算について 2 2022/03/28 07:43
- ドライブ・ストレージ Western Digital製のHDD・SDDに詳しい方教えてください 8 2023/03/06 13:23
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DNSサーバを設定したのですがns...
-
ワークグループ設定のPCの名前解決
-
”Tortoise SVN” と ”Subversio...
-
「DNSサーバーを自動的に取得す...
-
モニターなしのサーバとはどん...
-
Tivoliを学習したい!
-
ネットワーク構築関係の質問です。
-
IPベースのバーチャルホスト(Wi...
-
squidのパフォーマンスチューニ...
-
サーバルームの空気を換気したい
-
サーバーというのとメインフレ...
-
同じ独自ドメインを2つのサーバ...
-
LinuxからWindowsのbatファイル...
-
複数IPアドレスによるサーバ運...
-
LinuxとWindowsでのローカルネ...
-
DHCPリクエスト
-
teratermとコマンドプロンプト...
-
サーバ構築のサイトを見ながら...
-
ntpサーバの置き方
-
メールサーバの確認
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DNSサーバを設定したのですがns...
-
「DNSサーバーを自動的に取得す...
-
”Tortoise SVN” と ”Subversio...
-
ワークグループ設定のPCの名前解決
-
プロキシサーバとDNSサーバにつ...
-
pingでポートの指定
-
LinuxからWindowsのbatファイル...
-
別サーバに構築したApache+Tomc...
-
gitとgiteaの違いについて
-
WSUSサーバの移行について
-
同じ独自ドメインを2つのサーバ...
-
pingは通るけどサーバに繋がら...
-
サーバーというのとメインフレ...
-
Permission deniedエラーについて
-
オンラインゲームなどプレイ時...
-
社内でプロキシサーバ(Squid)の...
-
NFSクライアントでlockdがハン...
-
ntpサーバの置き方
-
マネージャ・エージェントモデ...
-
複数IPアドレスによるサーバ運...
おすすめ情報