人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

最強のレンタルサーバーを教えて下さい。

現在、さくらのレンタルサーバー ビジネスプロ(月額4500円)を契約しています。
http://www.sakura.ne.jp/rentalserver/pro/

が、phpの処理速度が重く、100秒連続して動かしていると止まることがあります。

次の要件を満たすより良いサーバーを教えて下さい。
●phpのprint処理(文字の出力)がリアルタイム(phpの処理が終わってから一気に画面を出力するのではなく、php処理中に随時文字を出力する)
●phpの処理落ちがしにくい(複数人でアクセスし、処理に100秒以上かかる動作を行なっていても処理が止まりにくい)
●月額料金は特に問わない(月数万円以上でも良い。お金の問題は動作の信頼性に代えられない感じ)
●phpMyAdminが最初から使える。

動かす言語:php+MySQL と普通のホームページ(トラフィックは非常に少ない。保存容量も多くなくて良い)
以上、よろしくお願いします。


●質問者: ReoReo7
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● y-kawaz
●75ポイント

具体的なレンタルサーバ情報ではなく一般的な話でなので本筋とは外れるかもしれませんが…。


> ●phpのprint処理(文字の出力)がリアルタイム(phpの処理が終わってから一気に画面を出力するのではなく、php処理中に随時文字を出力する)

これはサーバ環境の問題ではなく、PHP側の問題です。以下のように適所でflush()*1を実行してやればその時点までの溜まっている出力をブラウザ側に吐き出してくれます。

<?php
for($i = 0; $i < 5; $i++) {
 echo "hoge";
 ob_flush();
 flush();
 sleep(1);
}


> ●phpの処理落ちがしにくい(複数人でアクセスし、処理に100秒以上かかる動作を行なっていても処理が止まりにくい)
> ●月額料金は特に問わない(月数万円以上でも良い。お金の問題は動作の信頼性に代えられない感じ)

PHPでやってる以上どうしてもどこかで性能の頭打ちになります。
1サーバでの性能を引き出すのであればまずeAcceleratorなどのPHPアクセラレータを導入してみるとよいです。インストールしてhttpdを再起動するだけで数倍高速化します。

次に、ロードバランサを導入して複数のWEBサーバを並列に動作させることを検討しましょう。
高速なサーバに乗り換えるというのは確かにシンプルに有効ですが、どんなに金を注ぎ込んでもやっぱりどこかで性能は頭打ちになります。複数のWEBサーバを並列に動作させるほうがスケーリングしやすいです。
それに多分このほうが1点集中な高級サーバよりコストも掛からないと思います。


> ●phpMyAdminが最初から使える。

phpMyAdminなんて公式サイトからダウンロードしたファイルを解凍してサーバ上に置くだけでほとんど動いてしまうので用意されてる必要性はあまり無い気がします。

*1:ob_flush()とセットでこの順番で実行してやるとよいです。詳細はぐぐれば説明してくれるサイトがあります。


ReoReo7さんのコメント
ob_flush(); flush(); の件非常に役に立ちました。ありがとうございます! phpMyAdminのインストールされているレンタルサーバーは運用したことあるのですが、実際にインストールからするサーバーは持ったことが無いので、初期設定に戸惑うと思います(笑) とはいえ、いつまでもそんなこと言ってられないので、頑張ってトライしてみます!

2 ● kodairabase
●75ポイント

>●phpのprint処理(文字の出力)がリアルタイム(phpの処理が終わってから一気に画面を出力するのではなく、php処理中に随時文字を出力する)
これはPHPの仕様の問題で、できません。

>●phpの処理落ちがしにくい(複数人でアクセスし、処理に100秒以上かかる動作を行なっていても処理が止まりにくい)
具体的な負荷要件がわからないので何とも言えません。

条件を満たすものとして、以下のサービスをオススメします。

WebARENA 共用レンタルサーバ
月額1,980円?
http://web.arena.ne.jp/suitex/
phpMyAdminは標準サポート
http://web.arena.ne.jp/suitex/support/manual/database/mysql/highspec/phpMyAdmin.html


ReoReo7さんのコメント
ありがとうございます!新しいサーバーも検討してみようと思います。 flush()でいけるんですね。。

3 ● ken3memo
●75ポイント

さくらサーバーで 人力検索内を検索すると、

レンタルサーバーについて、 さくらインターネットの 「さくらの.. - 人力検索はてな
1、専用サーバーのマネージドプランを借りようと思っています。.. - 人力検索はてな
「さくらの専用サーバー」を借りたのですが、解約するかどうか迷.. - 人力検索はてな

管理はさくら任せで、1台占有のプラン
http://www.sakura.ne.jp/managedserver/
が、あるので、共有設定で切られているのなら、
1台、占有してみては?
※っと、その前に サーバー管理会社に100秒・2分?タイムアウトの設定があるのか聞いてみるのが先で、
環境に頼っても根本の原因を取り除かないと量が増えたらきりがないしなぁ。。。


ReoReo7さんのコメント
ありがとうございます! >1台占有のプラン その初期設定が分からないんです(泣) メール送ったのですが、届いておりますでしょうか?助けて頂ければ幸いです。 >環境に頼っても根本の原因を取り除かないと ありがとうございます。 前回の質問で原因らしきクエリ 「order by uniquekey desc limit 1」 を特定していたので、時間に依存したsearch_date(time()で作った10桁の整数の負の値を取ったもの)をindexにして、「order by search_date_reverse desc limit 1」にして対応してみました。 これで処理が軽くなれば良いのですが・・・。 ただ、外部サービスからのレスポンス待ちによる処理待ちが多いと思うので、結局タイムアウトさえ無ければphpの処理性能自体は何とかなる気もしています。

ken3memoさんのコメント
>>1台占有のプラン >その初期設定が分からないんです(泣) そこで、レンタルと専用サーバーの間? http://www.sakura.ne.jp/managedserver/ >> 特長 「さくらのマネージドサーバ」は、サーバ1台まるごとご提供します。共有サービスと異なり、CPUやメモリなどサーバリソースを専有できるのが大きな特長です。豊富な機能を搭載し、コントロールパネルから手軽に利用できます。また、管理者権限(root)を当社で管理、日々のサーバ運用や、万が一の障害発生時にも迅速に対応。お客様のサーバ運用コストを軽減します。 << だと思ったのですが、やはり、<b>自分が使ったことが無いサービスを検索だけで紹介・回答</b>するのは どうも 自信が持てなくてダメですね。 . 私も環境周りが弱いので(自分で設定できないので)人様のこと大きくは言えないのですが、 マネージドサーバ の単語で検索するともしかして自分に合った会社が見つかるかも? [http://www.fsv.jp/knowledge.html:title]

ReoReo7さんのコメント
ありがとうございます。 マネージドサーバ、一度契約しかけて止めたように思いますが、頑張って契約してみようかなとも思いました。

4 ● pretaroe
●75ポイント

>>1台占有のプラン
>その初期設定が分からないんです(泣)
http://www.sakura.ad.jp/apply/?server

ソフトウェアインストール代行とかもオプションにあるようなので
お金があるのなら、依頼すれば問題ないと思いますが・・。

/////
せっかく
サクラに契約していて
まして料金も問わないといってるのですから、
サクラに問い合わせたら、ベストなものを紹介してくれると思いますが・・。

>100秒連続して動かしていると止まることがあります。

ブラウザのタイムアウトもあります。
実際にPHPは動作していても、
応答がかえってこないと止まったように見えるとかです。

またサーバー側は、
1回のリクエストでのCPUの使用時間に制限があるところが多いので
その設定を聞いてみるべきでは?

PHPの処理が高負荷でない限り、その程度は大丈夫と思うけど。


>●phpのprint処理(文字の出力)がリアルタイム(phpの処理が終わってから一気に画面を出力するのではなく、php処理中に随時文字を出力する)

随時に出力すると今以上に遅くなるけど・・。

処理方法自体を見直してみては?





>トラフィックは非常に少ない。保存容量も多くなくて良い

サクラに問い合わせるのが一番です。
ここの会社のサービス、
素晴らしいとは言わないけど
そんなに悪くないところだけど・・。


ReoReo7さんのコメント
ありがとうございます。 さくらは >随時に出力すると今以上に遅くなるけど・・。 flush()が自動で付加する仕様(初期設定?)のようで、普通にprintすると結果が見えます。 検索結果は100件とかになるのですが、 1件あたりの出力は30秒ごとにはあるので、 ブラウザのタイムアウトということは無いかもしれません。 ありがとうございます。 インストール代行、頼もうかな・・・ 自分のスキルもあげないといけないのですが、なかなか時間が取れないでいます。 >処理方法自体を見直してみては? ありがとうございます。他社のWEBサービスからの応答を待つ時間が1件あたり1秒くらいありますので、100件リクエストを投げるとどうしても100秒?かかってしまいます。これの高速化となると、いろいろ工夫が必要ですね。(一番良いのは10件ごとに検索など。)
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ