- ベストアンサー
専用サーバー?クラウドサーバー? 1日中稼働させるための選択肢
- 専用サーバーやクラウドサーバーは、自作のPHPを1日中稼働させるための選択肢です。
- 共有サーバーでは稼働時間が制限されているため、専用サーバーは継続的な稼働に適しています。
- 一般公開や利用者数の増加を見据える場合は、最初からクラウドサーバーを選ぶことがおすすめです。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
質問への回答としては、常駐プロセスを動かすというのが必須なら、No1に書いたように、 マネージドサーバー(OSの管理を業者がやってくれる仮想専用サーバーサービス)を借りると言うことです。 高いと思ってましたが、調べるとそうでもないですね。 http://www.sakura.ne.jp/managedserver/ さくらサーバーでも、年8万円台からです。 ただ、お書きになっている内容から、なぜ要件が、常駐プロセスを使わないと解決できないが、常駐プロセスを使うと解決できるのかがいまいち伝わってこないので、いろいろアドバイスしようとした次第です。 OSの管理を自分でやる(侵入されて情報が流出したり、悪事の踏み台にされても気にしない)のなら、年1万円くらいで仮想専用サーバーが借りられます。これは薦められませんが。
その他の回答 (6)
- notnot
- ベストアンサー率47% (4900/10358)
何のためにと言うか、 >リクエストがあったときにそのときの最新を取りに行けば良いのでは? でだめな理由が今まで書かれている情報からはわかりません。
お礼
質問の内容はそこではないんですけど・・・。 最新情報はリクエストがあったときは最新かもしれませんが時間が経てば古くなるので 再び取得しにいきます。 DBにキーワードを溜め込んでいくとキーワードは増えますよね。 そうすれば再リクエストする量も増えていきます。 その結果、再リクエストを実行する回数も増え、全体的に実行時間も増えていくという結果になります。 この説明で大丈夫でしょうか? あと、できれば質問の内容に答えて頂けると助かります。
- notnot
- ベストアンサー率47% (4900/10358)
>取りに行く理由は最新情報を取得するためです。 何のために? リクエストがあったときにそのときの最新を取りに行けば良いのでは?
お礼
何のために・・・そこまで詳しく話さないとダメなんですか?
- notnot
- ベストアンサー率47% (4900/10358)
>リクエスト内容はほぼ無限にありますので(検索キーワードなど)、そうすると >保存しておいたデータは他のユーザーも使うとは限らないのです。 前提がおかしいです。 そうだとすると、ユーザーからのリクエストの都度、WebAPIで情報を取りに行くしか他に手段はなく、常駐だの、1分毎だのの処理の出番は無いです。
お礼
再度のご回答ありがとうございます。 情報が少なくてすみません。 例えば○○○や△△△について検索したとします。 最初はAPIで取りに行って、たいてい数十秒で処理は終了します。 検索の場合はこれで大丈夫です。 しかしこれらのキーワードはどんどんデータベースにストックしていって、自動でAPIに情報を取りに行くようにしています。 取りに行く理由は最新情報を取得するためです。 このキーワードが数百件になってくると、1件1件の処理は数十秒で終わっても、全部の処理はかなり時間がかかることになります。 検索時は1件ずつなので1件辺り数十秒で処理が終わり、最新情報を取得する場合は件数が膨大なのでずっと処理をしつづけることになります。
- directjpn
- ベストアンサー率40% (83/203)
海外のVPS(10ドル以下で高容量)鯖探して そこで動かすといいです~♪
お礼
ありがとうございます。 そのようなところを探すと良いのですね! いろいろ調べてみようと思います。
- notnot
- ベストアンサー率47% (4900/10358)
>PHPを使って、とあるWebサービスが提供しているAPIを実行してその結果を取得したいのです。 それはリクエストする人によらない結果を返すと言うことですよね? ユーザーからのリクエストで処理を実行して返し、その結果を保存しておく。 次にユーザーからリクエストが来た場合、○○分以内の結果が保存されていればそれを返して、 古い結果しか無ければ、再度リクエストしてその結果をユーザーに返し、また保存しておく。 とか。
お礼
ありがとうございます。 はい、○分以内ならそれでも良いのですが、リクエストする人がどんなリクエストを するかは全く読めないです。 リクエスト内容はほぼ無限にありますので(検索キーワードなど)、そうすると 保存しておいたデータは他のユーザーも使うとは限らないのです。 正直、PHPで作らずにWindowsアプリで作って、それをユーザーに渡す方式にすればよかったのですが 今は作り直している時間はありません。 自宅サーバーも経験がなく、そもそもapacheは接続ユーザー数に制限があったりWindowsの規約に違反するようで、やはりレンタルサーバーなどを借りたほうが良いのかなと思いました。
- notnot
- ベストアンサー率47% (4900/10358)
>自作で作ったPHPを1日中稼働させたいのですが、その場合のレンタルサーバーは専用サーバーじゃないといけないのでしょうか? 普通はそうですね。共用サーバーだと、常駐プロセスのような処理は認めないことが多いと思います。 >今まで共有サーバーしか使ったことがなく、専用サーバーやクラウドサーバーは使ったことはありません。 >かなり初心者ですがどうぞよろしくお願い致します。 初心者が、専用サーバーやVPSサーバーを借りて自分でOSを管理すると、すぐに侵入されて悪事の踏み台にされてしまうことが多いと思いますのでやめましょう。 「PHPを1日中稼働させたい」というのをしなくてすむような処理方法を考えましょう。 普通は何か方法があるはず。何をしたいのですか? あるいは料金が高いですが、OS管理を業者側がやってくれるマネージドサーバーというのを借りるか。
お礼
ありがとうございます。 >初心者が、専用サーバーやVPSサーバーを借りて自分でOSを管理すると、すぐに侵入されて悪事の踏み台にされてしまうことが多いと思いますのでやめましょう。 そのようなデメリットがあるのですね…。 さすがに初心者にOS管理は無理ですよね。 >「PHPを1日中稼働させたい」というのをしなくてすむような処理方法を考えましょう。 PHPを使って、とあるWebサービスが提供しているAPIを実行してその結果を取得したいのです。 そのWebツールを作ったのですが、ユーザーが一人や二人なら1日じゅう実行することはないのですが 十数人になってくるとけっこう処理をしまくる感じになると思うのです。 一つのPHPが実行する時間を短くして、Cronで1分置きに実行するとかはできるとは思います。 また、PHP自体をユーザーに渡して、apacheで自分のPC上で実行してもらうことも検討したのですが、 それだとソースファイルを渡すことになってしまうのでダメでした。
お礼
再度のアドバイスありがとうございます。 OSの管理はやはり自分ではできないので、そこは業者にお願いできるサービスのほうが良いですね。 さくらサーバーの紹介も助かりました。 なるべく処理を小分けにしてプロセス時間を短くしようと思います。 ただどうしてもDBに登録したキーワードが増えていくと、その再リクエストも増えていきますので 全体的なプロセスが増えるのは仕方ないかなと思っています。