• ベストアンサー

phpの限界は?

たとえば、企業が自社のHPより、ショッピングカートを設置する場合は、 プログラム言語は「php」または「perl」で 顧客のデータファイルも、カンマ区切りのテキスト形式の「csv」でも 十分かと思います。 しかし、楽天やヤフーのような同時に何十人も使用する場合も、  (1)「php」または「perl」で作ったプログラムでも堪えられるのでしょうか?同時に何人程度の使用なら大丈夫なのでしょう?  (2)一般的にこのようなケース(同時に何十人も使用するプログラムの場合   ショッピングカートの場合、メール配信もあると思います。)は   どんな言語でプログラムを作成するのでしょうか?  (3)データファィルは、MySQLなら大丈夫でしょうが、   テキスト形式のファイルを使う場合、どのような規模のシステムが限界なのでしょうか?   件数または同時使用頻度など。   テキスト形式のファイルの場合、データベースになっていませんから、   ファイルの更新は一度、全レコードを配列に入れて、   ふたたび、全配列をファィルに書き出すといった処理をすると思います。(もちろんLOCKはしますが) 教えていいただければ幸いです。

  • PHP
  • 回答数4
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • gentaro
  • ベストアンサー率47% (105/221)
回答No.2

(1)耐える耐えられないは処理系(言語)の問題ではありません。 サーバーの性能(データベースの負荷も含む)、回線、の問題です。 (2)これも、一般的、というのはありません。開発効率、保守性を考え てそれぞれの企業で多種の言語で開発されていると思います。 (3)負荷的にはテキスト処理が一番軽いのですが、何万行以上になった 場合どうなるんでしょうかね。規模から考えるより、データの信頼性を 考えた結果の選択になるのではないでしょうか。 また複雑な検索抽出の処理など、テキストでは限界が出ます。

その他の回答 (3)

noname#49406
noname#49406
回答No.4

あまり詳しくはないので、すこしだけ。 顧客のデータファイルが、テキスト形式でネット上にあるのは、危険なきがしますねー。 データーベース化するのは、処理の速さや管理のしやすさもあるでしょうが、ログインしなければ、見ることができないっていうセキュリティ的な強さもあると思います。(クロスサイトスクリプティングなんかは気をつけないといけませんが。 2.おおくは、PHP、Perlだと思います。C言語でも作れるらしいけど。 最近は、PHPの方がデーターベースと、とっつきがいいので、PHPが多いかと。 表示の部分は、PHPで、内部の見えない部分がSQLでパターンで。 3.私の個人的な考えですが、一昔前は、テキストは100行、多くても300行が多かった気がします。 さすがに、1000行単位になると、テキストでは厳しいと思います。 容量も、何MB単位は危険かと。 MySQLは1万件でも、苦にならないと聞いたことがあるので、その差は歴然ですね。

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.3

No.1のとおり、基本的にはDB利用ですね。DBサーバを別サーバにしたり、webサーバを複数台で負荷分散したりすれば拡張は可能です(もちろんサーバの性能自体を上げるという選択肢もあります)。 ただ(普通の)Perlのようにプロセス起動だと不利なので、phpなどの方が向いているかなとは思います。 ちなみにテキストファイルでもユーザ別や商品別のファイルにする(ファイル名をユーザIDなどにする)とかいった工夫で同時に書き替える可能性を減らせば(皆無にはできませんが)個人レベルなら「どうにかできる」かもしれません。でもデータの保護やバックアップなどを考えると(たとえ小規模でも)DBを利用すべきでしょうね。商用なら「データが壊れちゃいました」では済まないでしょうから。

  • asuncion
  • ベストアンサー率33% (2126/6288)
回答No.1

> 顧客のデータファイルも、カンマ区切りのテキスト形式の「csv」でも > 十分かと思います。 まず、これは論外です。 個人レベルのデータならばともかく、顧客データを扱う以上、 データベースを使うことは必須です。 >  (1)「php」または「perl」で作ったプログラムでも堪えられるのでしょうか? それなりの性能を持ったサーバを用意すればよいです。 > (2) (中略)どんな言語でプログラムを作成するのでしょうか? HTMLを出力できて、データベースとのインタフェースがあれば、何でもよいです。 例として挙げられているPHPやPerlの他、最近ではRubyも メジャーになりつつあると思います。

関連するQ&A

  • ショッピングサイトで使用されているプログラム言語について教えてください

    ショッピングサイトで使用されているプログラム言語について教えてください。 ショッピングカートの部分や、注文確定から在庫数などを更新するような内部処理をプログラムで作成する際、どのような言語で書くのが今の主流なのでしょうか? Perlは時代遅れなのでしょうか? PerlよりもPHPの方が楽だと聞きます。 業者さんが作るショッピングサイトなどは、通常どのような言語を提案しているのでしょうか?

    • ベストアンサー
    • CSS
  • PHPでexeファイル実行

    C言語でMPG形式の画像ファイルを読み込み、画像処理をしてテキスト形式で画像データを出力するプログラムを作成したのですが、 これをPHPプログラム内で動作させ、テキストデータ(できればバイナリのほうがいい)を読み取りたいと思います。 これはexeファイルをexecやsystem関数で実行することで解決できるのでしょうか? また、C言語の画像処理プログラムが画像を読み込んでからテキストデータを作成するまで1分ほどのタイムラグがあります。 どうすればPHP内の処理でexeファイル実行→exeがデータベースから画像を読み込む→ 1分処理待ち→テキスト作成→作成されたテキストデータをPHPで読み込み とできるのでしょうか? ちなみに、exeファイルとphpで作成した画像データベースはサーバー機に置くつもりです。 テキストデータを介さなくても、C言語プログラムからphpに直接データを渡す方法があればそちらのほうが望ましいです。 連続投稿で申し訳ないのですが、急を要するのでぜひともご解答お願いします。

    • ベストアンサー
    • PHP
  • PHPとかperlとかrubyとか

    質問させていただきます。 プログラミング言語を学ぼうと思っています。 ありがちな質問ですが、言語の特徴などを伺いたいと思います。 PHPはWEBに特化した言語だと聞きました。 あとperlはテキスト処理だけでどうも、、、って話も。 rubyはまだプログラムの話で出てこないことも多い。 やりたいことがあっての言語なのは承知しています。 WEBやデータベース、スタンドアロン?の簡単なソフト開発とか、いろいろやりたいことは多いです。 最初に目をつけた敷居が低いとされるWEBに特化したPHPはソフト開発には向かないらしいし、偏ったものもどうかと思ってます。 でも次の言語にJAVAを考えていて(JAVAは習得が難しいと聞きましたので)、PHPはJAVAに多少似ているってどっかのサイトで見ました。たぶん賛否両論はあるでしょうが。 別にWEBプログラムだからってperlでもrubyでもできるんですよね?だったら偏ったPHPよりperl、rubyの方が書いていて楽しいような気がします。rubyの需要はまだ少なそうですし、perlのテキスト処理だけってのもどうなんだろうと思いますが。そこらへんも聞きたいです。 簡単なゲームとか、顧客管理ソフトとか、WEBとかデータベースとか、できれば敷居が低く楽しめる言語があればと思ってます。

  • PHPのループ数限界値について

    PHPのループ数限界値について 宜しくお願い致します。PHP 5.1.6を使用しております。 PHPのforやwhileのループ処理について、限界のループ数というのは存在するのでしょうか? 今作っているプログラムで、約15,000項目の配列と約10,000項目の配列で2重のループ処理しています。 この場合のループ数は15,000×10,000=150,000,000回の繰り返し回数となってしまいます。 しかも、この配列数は今後も増える可能性が高いです。 ループの限界値が何回なのか、教えてください。

    • ベストアンサー
    • PHP
  • PHPの勉強の進め方について

    現在独学でPHPを勉強しています。 目標は大掛かりな物ではなく、webサイトに使用する程度のものが自作できればいいと思っています。 現在手元に「スラスラわかるPHP」、「気づけばプロ並みPHP ショッピングカート作りにチャレンジ」の2冊参考書があります。 スラスラわかるPHPは1回読み終わり、基礎的なことは少しですが理解はできました。 そこで次にもう一周スラスラわかるPHPをやってからショッピングカート作りを学ぶか、少しでもわかったからもうショッピングカート作りを学ぶかどうしようか迷っており、相談しました。 実際プログラミング言語を学習する時は、基礎を完璧に固めてから何かを作るにチャレンジするがいいか、それともうっすらでもいいから基礎がわかったら作ってみたい物に挑戦し壁にあたったら学習という風のどちらがいいのでしょうか? それともこれらを学ぶより先に、優先すべきことがあるのでしょうか? また、どの段階になったら次のステップに挑戦などの境界線みたいなものがありましたら教えてもらえると助かります。 ちなみに学校で学ぶという選択肢はないので、限界があるかもしれませんがあくまで独学という事でよろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPの基本的なことを教えて下さい!

    サイトでカートの使用を考え、PHPを利用しようと思っていますが、基本的なものが良く解かりません。 説明上手な方、教えて下さい。 PHPについては図書やインターネットでも調べてはいます。 Apache2、PHPもインストールしています。 【質問1】 このPHPはどこにプログラムを記述するのですか?エディタ(Aと称す)と思っているのですが、HTMLにAを呼び出す記述をするのでしょうか。 【質問2】 呼び出すのであれば、その記述のことを何と言うのですか。言語というものですか。 基本的なことが解かりません。 説明上手な方、教えて下さい。

    • 締切済み
    • PHP
  • PerlとphpのCGI版

    Perlは文書に最適化された言語だと今日知りました。 そこで思ったのですが、PerlとphpのCGI版の場合だと ファイルの読み書きなどを考えてみたところ、速度にさほど違いはないのでしょうか? mod_perlとphpのモジュール版の速度は同じくらいだと聞きます となればphpのCGI版はさほど早くなく、Perlと同程度じゃないかと思ったわけです どなたか教えてください!

  • oerlでテキストをダウンロードしたりしたいです

    perl言語を使用してテキストをダウンロードし続け、テキストの内容が変更した場合何かアクションを起こす、みたいなプログラムを作ろうとしていましたが初っ端の「テキストをダウンロード」の時点で行き詰まり泣きそうです。 google先生に聞いても「lwp::useragent」を使ったすごいプログラムしか出てこず、私が実現したいテキストファイルのダウンロードという恐らく初歩的なものは出てきませんでした、泣きそうです。 条件として、「テキストをダウンロードし続け、変化があれば何かアクションを起こす(知らせる)」というものであればどのような言語でもよいのですが、いかんせんプログラムは雀の涙ほどの知識しかないperlとちょっとしか触ったことのないCしかないので、できればperlでの実現を目指したいと思っています。 これって恐らく初歩的なことなんですよね、ごめんなさい。 こんなこと聞いてごめんなさい。

    • ベストアンサー
    • Perl
  • PHPは何故エディタで書けるのですか

     PHP初心者です、宜しくお願いします。  Javaとかのプログラムはそれようの言語をPCにインストールしておかないと、プログラムを書くことが出来ないですが、PHPとかhtmlとかの言語は何故、エディタで書いたファイル名をphpとかhtmlとかにするとブラウザから見れる様になるのでしょうか。

    • ベストアンサー
    • PHP
  • テキストデータの読み込みについて

    C言語のテキストデータの読み込みについてです。 C言語のプログラムについてです。 2444,1114,2807, 1984,2845,2086, 658.1,-1564.0,1239.7, -102.0,958.4,123.1, 12.7,6.0,82.7 2439,1110,2802, 1973,2865,2108, 658.8,-1563.7,1239.6, -102.0,957.1,121.9, 12.8,6.0,82.7 2441,1106,2806, 1967,2888,2124, 659.4,-1563.5,1239.5, -102.2,956.4,121.0, 12.8,6.1,82.8 2440,1109,2808, 1964,2896,2127, 660.0,-1563.3,1239.4, -102.7,956.2,120.7, 12.8,6.1,82.8 2441,1112,2807, 1981,2894,2120, 660.6,-1563.0,1239.4, -103.3,956.2,120.1, 12.8,6.1,82.8                                       ↑ 上の様なカンマとスペースで15個に区切られているtxtファイルがあるのですが、このtxtデータの10コ目と11コ目をを計算で使いたく、取り出したいと考えているのですがscanfを使いどのように取り出すことが出来るのか、また取り出したデータから数値を引くことを教えて頂きたいです。 つまり -102.0   958.4 -102.0   957.1 -102.2 と 956.4 -102.7   956.2 -103.3   956.2,             を取り出して計算に使いたいです。 そして1番上の数値だと、 -102.0と958.4 を読み込み、例えばそれぞれ100を引いた値を配列に入れたいです。 -102.0と958.4 → -202.0 と 858.4 のように取り出したいです。 教えて頂きたいです。お願いします。

専門家に質問してみよう