![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?c9bd177)
すいません、サーバー運用に詳しい方に質問があります。
初めてPHPとデータベースを勉強してあるウェブサイトを作りました。
一応完成したのでデータを毎日入れています。
内容としてはゲームやアニメ、漫画などの批評、検索のサイトでして、
ジャンルや内容によりフィルター機能、絞込機能などを入れました。
例えば、黒髪、バトル物、主人公が女性、日付順に並び替え、おすすめ順に並び替えなど・・・
などの条件でフィルターや絞込が行えます。完成した物に満足はしているのですが
条件を沢山付けすぎたためか実際にデータを300ほど入れると表示に時間がかかる時があるような
気がします。(結果が返ってくるのにひっかかる時があります)
予定では最終的にデータが5000から10000くらいに増えると思います。
現在あるサーバーの月1500円くらいのプランなのですが、月1500円程度ではやはりダメでしょうか・・。(負担のかかるサイトは運用できない・・?)
自分が目標としているようなサイトはどうも自宅サーバーで運用しているようです。最初はなぜ手間のかかる自宅サーバーをしているのかな・・と思っていたのですが、容量の大きいレンタルサーバーは月1万以上するようでして、年12万払うのでしたら面倒な自宅サーバーも選択肢に入りますよね・・。
例えば10人が一斉に私のサイトを利用した時が再現できず(私はパソコンは一台しか持っていませんし・・)月々どのくらいのプランのサーバーの契約をすれば良いかアドバイスいただけると助かります。
No.4ベストアンサー
- 回答日時:
No.2です。
さくらインターネットのレンタルサーバーのプラン毎の違いをまとめた比較表が以下のページにあります。
http://www.sakura.ne.jp/plans.html
主に使用出来るツール機能とデータ容量の差ですね。ビジネス用の最も高いプランだとサーバーを専有(=CPUを専有)できますが、それ以外は共有です。
共有とはいってもデータベースは契約者ごとに別でしょうから(=でないとセキュリティが確保できない)適切なCPUの負荷分散が図られていれば他の契約者が重い作業をしているためにそれに引っ張られて遅くなるということはほぼ無いでしょう。
ましてや項目数が10程度のテーブル(テーブルは1つでさうよね?)でデータが僅か10,000件ほどのデータ検索ということですから遅いはずがなく。。。
なので「データを300ほど入れると表示に時間がかかる時がある」というのはデータ構造(テーブル構造)が悪いかSQL文が適当でないと考えます。
実際にどこが悪いかは「どういうデータ型のどういう項目が有って」、「どの項目にインデックスがはられていて」、「どういう検索を行うのか」といったことがわからないと何とも言えません。
どんな契約プランを選んだらよいかより、まずはご自身のプログラムのどこの処理で時間が掛かっているのかを把握することが重要でしょう。
恐らくSQL文をデータベースサーバに投げてから帰って来るまでの時間が長いのだと思います。
お使いのレンタルサーバ環境で契約者(開発者)がどのような性能計測ツールを使用出来るのかわかりませんが、何もなくても出来るのは開発されたプログラムの要所要所でシステム時間を取り込み、それを画面に表示させるとか計測用テーブルを作成してそこに入れるとかログファイルに書くとかし、その値を確認することでしょう。
最低限以下で計測するとよいと思います。
・プログラム起動直後
・変数を受け取り不正なデータが無いかのチェックが終わったところ
・検索を実行する直前
・検索から帰ったところ
・画面の送出を終わったところ
参考まで。
>ましてや項目数が10程度のテーブル(テーブルは1つでさうよね?)でデータが僅か10,000件ほどのデータ検索ということですから遅いはずがなく。。。
非常に良くわかりました。
No.5
- 回答日時:
No2さんが詳しく書いていますのであまり書きませんが
>私は素人ですので「そうだ」と言われれば言い返せませんが、常識の範囲で「違う」と思いました。多くのお金を支払えばレスポンスは上がる物だと思いますが・・。
高い金を払えばリソースは増やせます。
ただCPUが不足していないのにCPUを増やしても意味が無いし、メモリが足りていないのにメモリを足しても意味がありません。
作りによっては占有2CPUで10億件を捌くことだってできます。
No.3
- 回答日時:
どこがボトルネックになっているか突き止めないと何やっても解決しないかも。
他回答にもあるように、サーバパフォーマンスの問題ではない気がします。
どのDBMSを使っているのか書かれていませんが、たとえばMySQLならスロークエリログなどを取ってみるとかして、イケてないクエリを洗い出してみてはいかがでしょうか。
またMuninなどでサーバのCPUやメモリ状態なども監視しながら負荷テストをしてみる。
負荷テストのツールは、「負荷テストツール」や「ストレステスト」などで検索すればいくつか見つかります。
サーバの移行を考えるのはそれらの情報が集まってから判断すべきでしょう。
No.2
- 回答日時:
タイトルの内容が異なるような。
。。(^^;> 現在あるサーバーの月1500円くらいのプランなのですが、月1500円程度ではやはりダメでしょうか・・。(負担のかかるサイトは運用できない・・?)
これは何を言われているのか分かりません。
データ300件で反応速度が出ないのはデータ構造(テーブル構造)が悪いかSQL文が適当でないかでしょう。
目標の5,000件~10,000件のデータのサイズが月1,500円のプランの容量制限内に入るのなら問題無いでしょう。それだけのことかと思います。
> 例えば10人が一斉に私のサイトを利用した時が再現できず(私はパソコンは一台しか持っていませんし・・)
開発言語がJavaでしたらApache JMeterなど、負荷試験ツールが幾つかあります。
> 月々どのくらいのプランのサーバーの契約をすれば良いか
利用されているレンタルサーバーは同時アクセス数の制限などがあるのでしょうか?
それともアクセス数制限は無いが設備(Webサーバーあるいはデータベース・サーバー)の性能上、1契約者サイトへのアクセス数が一定量より増えるとレスポンスが落ちるという事でしょうか?
しかもそれは契約プランで変わると?
どこに視点を置かれて話をされているのか正直なところよくわかりません。(_ _;;
とりあえずデータ300件で既に遅いというのは先に書きました通りテーブル構造かそれをアクセスするSQL文の書式の問題でしょう。
参考まで。
私が伺いたいのはPHPとMySQLを使って一万件程度(行が一万程度、列が10程度のデータベース)を項目に従って並び替え、フィルタリングを行った場合、月1500円程度のレンタルサーバーで耐えられるのかどうか。
プログラムの構造次第という回答も分かりますが、そもそも私は初めてデータベースを触るので重いのがDBの設計なのか、そもそもこの金額ではこの程度なのかがまったく検討が付きません。
実際に見てみないと分からないと言われればそうなのでしょうか、可能であれば実際に
>>レンタルサーバーは同時アクセス数の制限などがあるのでしょうか?
そういったものはありません。
>>1契約者サイトへのアクセス数が一定量より増えるとレスポンスが落ちるという事でしょうか?しかもそれは契約プランで変わると?
どこに視点を置かれて話をされているのか正直なところよくわかりません。
逆に聞きたいのですが、では契約プランでサーバーの負荷能力が変わらないとでも?
http://www.sakura.ne.jp/
例えばサクラのレンタルサーバーでも月120円程度から12000円まで幅広くあるわけです。当たり前ですが多くの人が同時にデータベースを利用する場合120円のサーバと12000円のサーバーは同じ負荷、同じ速度なのでしょうか?
私は素人ですので「そうだ」と言われれば言い返せませんが、常識の範囲で「違う」と思いました。多くのお金を支払えばレスポンスは上がる物だと思いますが・・。
私が聞きたかったのはそのぐらいのデータベースを扱うならこのくらいのプランにした方が良いなどそういった意見です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- VPN フリー wi-fi は安全ですか 自宅での wi-fi VPNを使用したら良い? 2 2022/05/31 04:12
- サーバー Webサイト構築フリーランスの案件受注について 1 2022/03/27 18:16
- IT・エンジニアリング インフラエンジニア(ネットワークエンジニア)の検証業務について教えてください。 インフラ初心者なので 2 2022/06/26 00:08
- サーバー メールサーバーについて詳しい方、メールサーバーの管理業務経験のある方、教えてください。 3 2022/11/12 18:24
- 消費者問題・詐欺 お金を取り返すことは可能でしょうか? 4 2023/01/07 13:17
- UNIX・Linux いつの間にか自宅サーバーが見れなくなっていた時のトラブルシューティング手順をご教示ください 4 2023/02/15 21:01
- オンラインゲーム MinecraftのJava版でマルチで遊ぶことになりまして友人がサーバーの管理者となりました。 し 1 2022/06/27 14:18
- Y!mobile(ワイモバイル) Ymobile!データ増量オプション(550円)1年無料経過後 解約・契約繰り返して使えますか? 5 2023/05/11 09:11
- PHP sessioncookieをではなくcookieを使わなければならない理由について… 4 2022/11/07 13:01
- ASP・SaaS イントラネットを構築したい 2 2022/04/24 11:08
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同級生で抜いたことはあります...
-
スマートウォッチについて教え...
-
URLを開くアプリが見つかりません
-
このアプリってなんですか?
-
Snowアプリで私だけ顔認識され...
-
お持ち帰りしたいです こんどマ...
-
相手にもっと早く歩いてもらっ...
-
トリマですが歩数は増えますが...
-
スマホ(Android)でYoutubeをフ...
-
老人の携帯対策
-
adidas runningというスマホア...
-
バレずにスマホを壊すにはどう...
-
脳みそフル回転でボケずに禿げ...
-
マチアプで
-
スマホで色々閲覧してると、リ...
-
テキストエディターを探してお...
-
LINEスタンプについて教えてく...
-
マッチングアプリに関して
-
口臭ケアのおすすめのアイテム...
-
機種変をしてアップルケア+に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サーバー運用に詳しい方に質問...
-
postgresqlの接続ポート5432か...
-
windows版postgresql 異なるバ...
-
MySQLとPostgresの同時使用
-
postgresqlでのトランザクショ...
-
Windows10でQuickTimeがインス...
-
PostgreSQLの標準文字コードをS...
-
PostgreSQLで集約関数をネスト...
-
Access フォーム「使用可能」...
-
Windows10がインストールできま...
-
443ポートのみが開放できない
-
CASEの中にCASE
-
PostgreSQLを完全に削除出来ない
-
PostgreSQLドライバの登録。 Ma...
-
POSTGRESのデータの格納場所は...
-
PostgreSQLで"pg_dumpall -f da...
-
booleanデータのcsv出力形式
-
PostgreSQLが起動しない・・・
-
Universalインストーラが勝手に...
-
エクスポートボタンを押すとダ...
おすすめ情報