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


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

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

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

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

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/12/09 00:40:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:y-kawaz No.1

回答回数1422ベストアンサー獲得回数226

ポイント75pt

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


> ●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()とセットでこの順番で実行してやるとよいです。詳細はぐぐれば説明してくれるサイトがあります。

id:ReoReo7

ob_flush();
flush();
の件非常に役に立ちました。ありがとうございます!

phpMyAdminのインストールされているレンタルサーバーは運用したことあるのですが、実際にインストールからするサーバーは持ったことが無いので、初期設定に戸惑うと思います(笑)

とはいえ、いつまでもそんなこと言ってられないので、頑張ってトライしてみます!

2011/12/02 21:23:19
id:kodairabase No.2

回答回数661ベストアンサー獲得回数80

ポイント75pt

>●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

id:ReoReo7

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

2011/12/02 21:24:24
id:ken3memo No.3

回答回数317ベストアンサー獲得回数115

ポイント75pt

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

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

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

他1件のコメントを見る
id:ken3memo

>>1台占有のプラン
>その初期設定が分からないんです(泣)
そこで、レンタルと専用サーバーの間?
http://www.sakura.ne.jp/managedserver/

特長
「さくらのマネージドサーバ」は、サーバ1台まるごとご提供します。共有サービスと異なり、CPUやメモリなどサーバリソースを専有できるのが大きな特長です。豊富な機能を搭載し、コントロールパネルから手軽に利用できます。また、管理者権限(root)を当社で管理、日々のサーバ運用や、万が一の障害発生時にも迅速に対応。お客様のサーバ運用コストを軽減します。

だと思ったのですが、やはり、自分が使ったことが無いサービスを検索だけで紹介・回答するのは どうも 自信が持てなくてダメですね。
.
私も環境周りが弱いので(自分で設定できないので)人様のこと大きくは言えないのですが、
マネージドサーバ の単語で検索するともしかして自分に合った会社が見つかるかも?
「マネージド」サーバーと「セルフマネージド」サーバーのちがい - レンタルサーバーの【ファーストサーバ】

2011/12/02 22:18:16
id:ReoReo7

ありがとうございます。

マネージドサーバ、一度契約しかけて止めたように思いますが、頑張って契約してみようかなとも思いました。

2011/12/02 22:37:40
id:pretaroe No.4

回答回数531ベストアンサー獲得回数75

ポイント75pt

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

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

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

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

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

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

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


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

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

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





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

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

id:ReoReo7

ありがとうございます。

さくらは
>随時に出力すると今以上に遅くなるけど・・。
flush()が自動で付加する仕様(初期設定?)のようで、普通にprintすると結果が見えます。
検索結果は100件とかになるのですが、
1件あたりの出力は30秒ごとにはあるので、
ブラウザのタイムアウトということは無いかもしれません。

ありがとうございます。
インストール代行、頼もうかな・・・
自分のスキルもあげないといけないのですが、なかなか時間が取れないでいます。


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

ありがとうございます。他社のWEBサービスからの応答を待つ時間が1件あたり1秒くらいありますので、100件リクエストを投げるとどうしても100秒~かかってしまいます。これの高速化となると、いろいろ工夫が必要ですね。(一番良いのは10件ごとに検索など。)

2011/12/02 22:07:22
  • id:ReoReo7
    あれっ?
    ポイント最大300Pつけますという方式にしたのに、、

    どうやってポイント式にするんだろう?
  • id:TOMOTAKA
    ポイントは質問終了時に振り分け画面が出てきますよ。
    質問を終了すると、ポイントが均等(5人が回答していると、300/5で1人60PT)に振り分けられた画面が表示されます。その画面で質問者が好きなようにポイントを設定できます。
     
    なかなか面白い質問なので、ウォッチしています。
    今回の質問の方向とは違うので、コメントに記載します。
     
    私は昔、コストパフォーマンスと性能のバランスから、さくらの専用サーバを借りていましたが
    最近はKAGOYAの専用サーバ(マネージド)が中々使い勝手が良く、利用しています。
    マネージドサーバは月額料金が5000円程と安く、スペックはメモリ2GB、HDD160GB、回線速度も良好。自動でサーバのアップデートを行なってくれます。
    デメリットとして、root権限がなくため、自由に弄べません。
    私のように、静的なwebsiteの運営が主で、大量のアクセスをさばかなくても良く、サーバ管理に手間を取られたくない物臭性分なら、中々オススメです。
    しかし、今回求められているような、細かなチューニングには不向きなので
    質問の回答にはなりませんね……。
    雑文失礼致しました。
  • id:ReoReo7
    ありがとうございます。

    ウォッチして頂いて感激です!
    どんどんウォッチして下さい(笑)

    なるほど、マネージドサーバが良いのですね。


    えーと、基本は
    ①分散処理
    ②php自体を高速化
    ですよね。

    ①は難しすぎるのですが②トライしてみました。
    eAccelerator
    のインストールで挫折。

    1:phpにコマンドで入力する画面というのが分からない。
    2:pedorosaでログインできることを知る(ここまで2時間)
    3:ログインしてサイトを見ながらファイルダウンロード、展開
    4:サイトごとに微妙にフォルダの構成とかコマンドが違うので、指示とちょっとでも違う結果が出るとアウト。それでも何とか一つずつ進めていくが、何かmake installでerrorが出てアウト。ここで断念(ここまで6時間)

    ということで、6時間かけても②すらできず。
    ①と②・・・やりたいなぁ。(笑)
  • id:TOMOTAKA
    エラーの内容はどのようなものですか?
    もしかして、管理者権限でインストールを行なっていないのではありませんか?
    make install ではなく、 sudo make install でやってみて下さい。
    (エラー内容は幾つも推察できますが、初心者がつまづきやすいのは、とりあえずsudoなので……もし私の勘違いでしたら、すいません。)
    エラー内容を貼りつけて頂ければ、分かる範囲で原因を推察してコメントしますよ。
     
    マネージドサーバのメリット・デメリットを下に記します。
    結論としては「専用サーバのスペックは欲しいが、なるべく手間を省きたい人」「専用サーバのスペックは必要だが、Linuxやサーバの専門知識がない人」「共有サーバのような簡単セットアップ的なサービスを使いたい人」が利用します。
    < メリット >
    WordPressやModXなどのCMSや、CGIの掲示板やチャットワンクリックで簡単にインストール可能
    サイボウズなどのサービスが使える場合がある
    OSやシステムのアップデートをサーバ運営会社がやってくれる
    専用サーバが利用できる。共有サーバやVPSと違い、他のヘビーユーザーによる回線遅延が起こらない
     
    < デメリット >
    root権限を持っていないので、好きなソフトのインストールなどに制限がある
    自分で色々なチューニングを施しにくい
  • id:ReoReo7
    ありがとうございます。
    マネージドサーバでいいのですが、phpの高速分散処理ができればOKです。
    難しい権限とか何もいらない感じです。

    以下、一連のPoderosaのコマンドの流れです。
    何か個人情報を晒してたら指摘して下さい。すぐ消すので・・。

    %ls
    MailBox local
    cache log
    db namazu-template
    eaccelerator-0.9.6.1 pear
    eaccelerator-0.9.6.1.tar.bz2 ports
    ftpaccess sblo_files
    index.php www
    %cd eaccelerator-0.9.6.1
    %/user/local/bin/phpize
    /user/local/bin/phpize: Command not found.
    %/(僕のアカウント)/local/bin/phpize
    /(僕のアカウント)/local/bin/phpize: Command not found.
    %ls
    AUTHORS config.sub eaccelerator.ini
    COPYING config.w32 eaccelerator.lo
    ChangeLog configure eaccelerator_version.h
    Makefile configure.in fnmatch.c
    Makefile.fragments control.php fnmatch.h
    Makefile.global dasm.php include
    Makefile.in debug.c install-sh
    Makefile.objects debug.h libtool
    NEWS debug.lo ltmain.sh
    PHP_Highlight.php doc missing
    README ea_dasm.c mkinstalldirs
    README.win32 ea_dasm.h mm.c
    acinclude.m4 ea_dasm.lo mm.h
    aclocal.m4 ea_info.c mm.lo
    autom4te.cache ea_info.h modules
    bugreport.php ea_info.lo opcodes.c
    build ea_restore.c opcodes.h
    config.guess ea_restore.h opcodes.lo
    config.h ea_restore.lo optimize.c
    config.h.in ea_store.c optimize.lo
    config.log ea_store.h run-tests.php
    config.m4 ea_store.lo win32
    config.nice eaccelerator.c
    config.status eaccelerator.h
    %make install
    /bin/sh /home/(僕のアカウント)/eaccelerator-0.9.6.1/libtool --mode=link cc -DPHP_ATOM_INC -I/home/(僕のアカウント)/eaccelerator-0.9.6.1/include -I/home/(僕のアカウント)/eaccelerator-0.9.6.1/main -I/home/(僕のアカウント)/eaccelerator-0.9.6.1 -I/usr/local/php/5.2.17/include/php -I/usr/local/php/5.2.17/include/php/main -I/usr/local/php/5.2.17/include/php/TSRM -I/usr/local/php/5.2.17/include/php/Zend -I/usr/local/php/5.2.17/include/php/ext -I/usr/local/php/5.2.17/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -o ./eaccelerator.la -export-dynamic -avoid-version -prefer-pic -module -rpath /home/(僕のアカウント)/eaccelerator-0.9.6.1/modules eaccelerator.lo opcodes.lo debug.lo ea_restore.lo ea_store.lo ea_info.lo ea_dasm.lo mm.lo optimize.lo
    libtool: link: `eaccelerator.lo' is not a valid libtool object
    *** Error code 1

    Stop in /home/(僕のアカウント)/eaccelerator-0.9.6.1.
    %sudo make install
    /usr/local/bin/sudo: Permission denied.
    %pipize
    pipize: Command not found.
    %phpize
    Configuring for:
    PHP Api Version: 20041225
    Zend Module Api No: 20060613
    Zend Extension Api No: 220060519
    configure.in:3: warning: prefer named diversions
    configure.in:3: warning: prefer named diversions
    %./configure -enable-eaccelerator=shared -with-php-config=/user/local/bin/php-config
    checking for grep that handles long lines and -e... /usr/bin/grep
    checking for egrep... /usr/bin/grep -E
    checking for a sed that does not truncate output... /usr/bin/sed
    checking for cc... cc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables...
    checking whether we are cross compiling... no
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether cc accepts -g... yes
    checking for cc option to accept ISO C89... none needed
    checking how to run the C preprocessor... cc -E
    checking for icc... no
    checking for suncc... no
    checking whether cc understands -c and -o together... yes
    checking for system library directory... lib
    checking if compiler supports -R... yes
    checking build system type... i386-unknown-freebsd7.1
    checking host system type... i386-unknown-freebsd7.1
    checking target system type... i386-unknown-freebsd7.1
    configure: error: Cannot find php-config. Please use --with-php-config=PATH
    %make & make install
    [1] 34974
    /bin/sh /home/(僕のアカウント)/eaccelerator-0.9.6.1/libtool --mode=link cc -DPHP_ATOM_INC -I/home/(僕のアカウント)/eaccelerator-0.9.6.1/include -I/home/(僕のアカウント)/eaccelerator-0.9.6.1/main -I/home/(僕のアカウント)/eaccelerator-0.9.6.1 -I/usr/local/php/5.2.17/include/php -I/usr/local/php/5.2.17/include/php/main -I/usr/local/php/5.2.17/include/php/TSRM -I/usr/local/php/5.2.17/include/php/Zend -I/usr/local/php/5.2.17/include/php/ext -I/usr/local/php/5.2.17/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -o ./eaccelerator.la -export-dynamic -avoid-version -prefer-pic -module -rpath /home/(僕のアカウント)/eaccelerator-0.9.6.1/modules eaccelerator.lo opcodes.lo debug.lo ea_restore.lo ea_store.lo ea_info.lo ea_dasm.lo mm.lo optimize.lo
    /bin/sh /home/(僕のアカウント)/eaccelerator-0.9.6.1/libtool --mode=link cc -DPHP_ATOM_INC -I/home/(僕のアカウント)/eaccelerator-0.9.6.1/include -I/home/(僕のアカウント)/eaccelerator-0.9.6.1/main -I/home/(僕のアカウント)/eaccelerator-0.9.6.1 -I/usr/local/php/5.2.17/include/php -I/usr/local/php/5.2.17/include/php/main -I/usr/local/php/5.2.17/include/php/TSRM -I/usr/local/php/5.2.17/include/php/Zend -I/usr/local/php/5.2.17/include/php/ext -I/usr/local/php/5.2.17/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -o ./eaccelerator.la -export-dynamic -avoid-version -prefer-pic -module -rpath /home/(僕のアカウント)/eaccelerator-0.9.6.1/modules eaccelerator.lo opcodes.lo debug.lo ea_restore.lo ea_store.lo ea_info.lo ea_dasm.lo mm.lo optimize.lo
    libtool: link: `eaccelerator.lo' is not a valid libtool object
    *** Error code 1

    Stop in /home/(僕のアカウント)/eaccelerator-0.9.6.1.
    libtool: link: `eaccelerator.lo' is not a valid libtool object
    *** Error code 1

    Stop in /home/(僕のアカウント)/eaccelerator-0.9.6.1.
    [1] + Exit 1 make
    %sudo make & sudo make install
    [1] 35172
    /usr/local/bin/sudo: Permission denied.
    /usr/local/bin/sudo: Permission denied.
    [1] + Exit 1 sudo make
    %
  • id:ReoReo7
    参考にしたページ
    http://ueblog.natural-wave.com/2008/03/20/php-eaccelerator/
  • id:TransFreeBSD
    > %/user/local/bin/phpize
    /user/~ではなく/usr/~です。ただ、pathが通っているので「phpize」だけでOKですが。

    > %ls
    > ~
    半端にmakeされているようです。いちどmake cleanしましょう。
    元からこの状態なら持ってきたアーカイブがおかしいです。

    > %./configure -enable-eaccelerator=shared -with-php-config=/user/local/bin/php-config
    これも/user/~ではなく/usr/~です。なので最後エラーが出ています。
    > configure: error: Cannot find php-config. Please use --with-php-config=PATH

    > %make & make install
    「&」じゃなくて「&&」です。

    > /usr/local/bin/sudo: Permission denied.
    レンタルサーバなので管理者権限もらえないです。なのでインストール先変えないとダメですが、PHPの作法知らないです。
    少なくともapacheの再起動は出来ないです(ほっとけばいずれ再起動するでしょうけれど)。


    あと、こういう時こそajaxだと思います。
  • id:ReoReo7
    >TransFreeBSDさん

    ありがとうございます。

    > %ls
    > ~
    半端にmakeされているようです。いちどmake cleanしましょう。
    元からこの状態なら持ってきたアーカイブがおかしいです。

    できました!

    > %/user/local/bin/phpize
    /user/~ではなく/usr/~です。ただ、pathが通っているので「phpize」だけでOKですが。

    できました!

    > %./configure -enable-eaccelerator=shared -with-php-config=/user/local/bin/php-config
    これも/user/~ではなく/usr/~です。なので最後エラーが出ています。

    できました!

    > %make & make install
    「&」じゃなくて「&&」です。

    できました!!...が、

    Installing shared extensions: /usr/local/php/5.2.17/lib/php/extensions/no-debug-non-zts-20060613/
    cp: /usr/local/php/5.2.17/lib/php/extensions/no-debug-non-zts-20060613/#INST@37995#: Permission denied
    *** Error code 1

    Stop in /home/akkokode2/eaccelerator-0.9.6.1.

    やっぱりコレなりましたね。

    >レンタルサーバなので管理者権限もらえないです。なのでインストール先変えないとダメですが、PHPの作法知らないです。
    少なくともapacheの再起動は出来ないです(ほっとけばいずれ再起動するでしょうけれど)。


    ・・・わかりませんでした。スミマセン。

    >あと、こういう時こそajaxだと思います。

    これも分かりませんでした。


    どうすれば良いのでしょう。。。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません