のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,841人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレ【PHP】下らねぇ質問はID出して書き込みやがれ 102

    php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    152 : nobodyさん - 2010/12/28(火) 20:07:19 ID:??? (+74,+29,-1)
    試せば済むことを聞くなよ
    153 : nobodyさん - 2010/12/28(火) 20:09:46 ID:FjOaIYGE (+160,+29,-127)
    5MBのCSV(レコード30000件)の取込バッチを作っています。

    バッチはクアッドコアのサーバで動いています。
    バッチはそのうちの1つのコアを使用しているようで、
    使用率が90%を越えている状態です。

    このバッチを高速化するとなったら、
    バッチを別プロセスで起動するくらいしか
    方法はないでしょうか。
    コアが4つあるから、バッチを4つ並列で起動させると
    早くなるんだろうなとは思ってるんですが、
    バッチを分割する手間がかかるので、
    分割の手間をかけずにパフォーマンスの向上を期待できる
    方法があれば教えて頂けないでしょうか。


    よろしくお願い致します。
    154 : nobodyさん - 2010/12/28(火) 20:15:43 ID:??? (+50,-11,+0)
    >>153
    PHPをやめる
    155 : 153 - 2010/12/28(火) 20:25:31 ID:??? (+64,+29,-2)
    >>154
    やめない方向でいきたいです。。。
    よろしくお願いします。
    156 : nobodyさん - 2010/12/28(火) 20:31:16 ID:??? (+82,+8,-5)
    >>153
    SQLに放り込んでから処理する
    157 : nobodyさん - 2010/12/28(火) 20:47:03 ID:??? (+116,+29,-81)
    >>153

    使用率が90%なのと高速化は別の視点で語りましょう。

    高速化する必要性があるかないか?
    なぜ高速化が必要なのか?

    そうした背景を質問の文章からは読み取れませんでした。


    またコアCPUの使用率90%が問題になる理由も読み取れませんでした。


    いずれにせよPHPに限った話では無いような気がしています。
    158 : nobodyさん - 2010/12/28(火) 20:50:52 ID:??? (+100,+29,-29)
    ファイルでもやろうと思えばポインタから並列処理はできる
    ただポインタなりデータの共有が面倒だからSQLに放り込んだほうが手っ取り早い
    159 : nobodyさん - 2010/12/28(火) 21:10:54 ID:??? (+7,-20,-19)
    SQLって問い合わせ言語のことだよ?
    160 : nobodyさん - 2010/12/28(火) 21:49:50 ID:??? (+0,-27,-31)
    問い合わせ言語ってAjaxのことだよ?
    162 : nobodyさん - 2010/12/28(火) 22:23:41 ID:??? (+3,-30,-141)
    common1.php
    <?php
    function sample1() {}
    ?>
    common2.php
    <?php
    function sample2() {}
    sample2();
    ?>

    hoge.php
    <?php
    include_once("common1.php"); //読み込んでも実行されない
    sample1(); //ここではじめてsample1が実行される

    include_once("common2.php"); //当然の事ながら読み込んだだけで実行される
    163 : 151 - 2010/12/29(水) 01:31:53 ID:4k+FzqXt (+75,+29,-27)
    >>152
    うん、一応試したんだけど見つけられなかったから質問させてもらった
    もしかしたら特殊な方法で出来たりするのなら教えてほしいっす

    でも、PHPのばあい結構べた書きするから、そういうのこそ単体テストが必要な気がするなあ
    164 : 161 - 2010/12/29(水) 01:58:55 ID:??? (+52,+29,-10)
    成程。
    ありがとうございました。
    165 : nobodyさん - 2010/12/29(水) 03:12:11 ID:??? (+87,+21,+1)
    >>163
    しないわ
    166 : 151 - 2010/12/29(水) 08:39:19 ID:??? (+69,+29,-36)
    >>165
    そお?元々オブジェクト指向でもないただのテンプレート言語だから、そっちのが需要あると思んだけど・・
    167 : nobodyさん - 2010/12/29(水) 08:56:03 ID:??? (+57,+29,-21)
    お前がどう思おうが世間の需要に関係ない
    168 : 151 - 2010/12/29(水) 09:14:21 ID:4k+FzqXt (+15,+27,+0)
    了解
    169 : nobodyさん - 2010/12/29(水) 10:10:08 ID:??? (+57,+29,-6)
    世間がどう思おうが俺の需要に関係ない
    171 : 153 - 2010/12/29(水) 12:02:28 ID:??? (+97,+30,-187)
    あ、すみません。伝え漏れがありました。
    取り込むCSVは複数個あります。
    それぞれが5MBほどあります。

    >>156
    ありがとうございます。
    なるほどです。
    DBに放り込む前に桁数とか値の検証とか行っているのですが、
    そのあたりもSQLでやっちゃう感じなんですかね。

    >>157
    ありがとうございます。
    CSVで取込んだデータを帳票で出力していきます。
    帳票も出力する頻度が多いので、
    できるだけCSVの取込からすぐに帳票に出力したいと考えています。

    コアの使用率が90%になることは特に問題視はしていなくて
    4つのうち1つのコアの使用率が90を超えてるときに
    他のコアはほとんど何もしていないので
    PHPの機能やら、プログラムの組み方で、なんとか他のコアにも処理を振り分けられたらなと
    思った次第です。
    PHPに割り当てられるメモリの設定とか見直せればなとか
    考えていたので、PHPのスレに投稿させていただきました。

    >>158
    ありがとうございます。
    ですよねぇ。
    ファイルのポインタとかを使うとめんどくさい事になりそうですよね。
    172 : nobodyさん - 2010/12/29(水) 12:10:21 ID:??? (+99,+29,-37)
    いくらマルチコア積んでたって
    自分がマルチプロセスでプログラム書かないと効果ないっしょ。
    分割して記述はしたくないんでしょ?
    だったら普通に書いたプログラムを勝手に言語やエンジンが複数コア使って処理なんてしてくれるわけない。
    173 : nobodyさん - 2010/12/29(水) 12:15:51 ID:??? (+56,-23,-20)
    >>171
    CSVをDBで処理するなんてありえない。Ajaxを使うのが世界的な潮流。
    174 : 153 - 2010/12/29(水) 13:18:35 ID:??? (+109,+30,-54)
    >>172
    ありがとうございます。
    仰る通りだと思います。
    そういう認識ではいたんですが、もしかしたら
    自分の知らないテクニックがあるかもしれないと思ってたんですが、
    楽しようとせずに地道にやっていこうと思います。

    >>173
    Ajaxですか・・・。
    どこか参考になるサイトがあれば教えて頂けますか?
    175 : nobodyさん - 2010/12/29(水) 13:37:11 ID:??? (-4,-27,-14)
    バイナリに変換しておいて読み込む
    176 : nobodyさん - 2010/12/29(水) 13:39:09 ID:??? (+57,+29,-41)
    時間さえかければ済む、頻繁に読み込む必要はない(一度だけの処理)なら
    もっともコーディングが少ないやり方でいいよ。
    177 : nobodyさん - 2010/12/29(水) 13:47:40 ID:??? (+72,+29,-20)
    >>174
    AjaxはNGに入れといていい
    ていうかいい加減にしろよ
    嘘教えるようなら本当に荒らしで通報するぞ
    178 : nobodyさん - 2010/12/29(水) 13:52:54 ID:??? (-1,-29,-7)
    ループ中にusleepで10ms取るだけでだいぶCPU使用率減ると思うがな
    179 : nobodyさん - 2010/12/29(水) 15:10:31 ID:??? (+112,+29,-91)
    スマン

    Ajax厨が出てきてから、解決していない質問がどれかがわからなくなってきた。

    また、質問した方が解決したか否かを書かないために、未だに質問を継続しているかがわからない。

    申し訳ないが、今生きている質問(継続中)を教えて欲しい。

    それとAjax厨は、こうした迷惑が発生していることも含めてレスを考え直して欲しい。

    180 : nobodyさん - 2010/12/29(水) 15:34:54 ID:??? (+14,-30,-115)
    >>151>>163
    何を試してどう出来ないと言うの?
    普通にその関数を持ったファイル(functions.phpみたいな)を読み込んで
    $this->assertEquals(5, MyAdd(2, 3))するだけでしょ。
    もし関数定義外の部分に実行文が入ってるなら諦める。

    >>153>>171
    PHPはスレッドが使えないから並列化はマルチプロセスにするしかない。

    (DBじゃなくて)PHPがネックになってることが確認できてるなら
    複数個あるCSVに対してそれぞれPHPを起動するのが楽じゃないかな。

    普通はDBへの転送に一番時間かかるんだけどね。
    181 : nobodyさん - 2010/12/29(水) 15:35:55 ID:??? (+55,+29,-1)
    >>179
    なにしきってんの?おまえがうざいわ
    182 : nobodyさん - 2010/12/29(水) 15:49:42 ID:??? (+61,+29,-43)
    >>179
    お前が元祖Ajax厨だろ
    口調が同じだからまるわかりだっちゅうの
    しれーっとでてきてんじゃねえよ
    183 : nobodyさん - 2010/12/29(水) 18:09:25 ID:??? (+96,+30,-81)
    何か荒れてるけど、この前はクリスマスなのに全くの初心者の基本中の基本の質問に答えてくださってありがとうございます
    ネットの良心と可能性というのを初めて見た気がします
    独学で学んでるのでここでしか聞けないのですが、本当にありがとうございます。
    言葉じゃ言い表せないぐらいの感謝の気持ちでいっぱいです
    184 : nobodyさん - 2010/12/29(水) 18:13:37 ID:??? (+57,+29,-10)
    寝てる間にやっとけば済むなら、プログラム手間かけるより安全な方法で放置すればいい。
    185 : nobodyさん - 2010/12/29(水) 18:14:26 ID:??? (+70,+29,+0)
    >>183
    なんでここでしか聞けないんだよ
    187 : nobodyさん - 2010/12/29(水) 19:52:57 ID:??? (+9,-8,+0)
    きめえ
    188 : nobodyさん - 2010/12/29(水) 20:52:05 ID:??? (+57,+29,-2)
    >今年も他人の呪って
    日本語がおかしくて笑えましたw
    189 : nobodyさん - 2010/12/29(水) 23:42:19 ID:??? (+57,+29,-11)
    他人の[レスを]を省略してるとすれば一概に間違ってはいないけど
    とはいえレス自体がおかしいけど
    190 : nobodyさん - 2010/12/30(木) 01:46:05 ID:??? (+57,+29,-74)
    Ajax厨というのがどのレスのことを指しているのかわかりませんが、
    AjaxでできることはAjaxでするべきだと言っているのです。
    必ずしも全てをPHPで行う必要はありません。
    191 : nobodyさん - 2010/12/30(木) 17:22:33 ID:??? (+57,+29,-20)
    どうせ「アジャックス」って読んでるだろw
    192 : nobodyさん - 2010/12/30(木) 17:33:23 ID:??? (-1,-29,-64)
    AjaxとPHPは比較できるものでない。
    PHPはローカルで動くプログラム言語。C++の簡易型みたいなもの。
    Ajaxはブラウザとサーバーのリアルタイム通信する技術でしょ。
    193 : nobodyさん - 2010/12/30(木) 17:35:21 ID:??? (+44,-29,-37)
    だからなんで手元(サーバ、ローカル)にあるファイルを読み込むのにAjaxなんだよ。
    194 : nobodyさん - 2010/12/30(木) 17:42:51 ID:??? (+1,-26,-11)
    サーバにあるファイルを読み込まないでどこにあるファイルを読み込むんだ?
    195 : nobodyさん - 2010/12/30(木) 17:52:29 ID:??? (+58,+8,-22)
    >>153はサーバーにあるファイルをサーバーで処理するって話じゃないの?
    ローカルのみでの作業。
    196 : nobodyさん - 2010/12/30(木) 18:01:10 ID:??? (+33,+3,-13)
    >>193 Ajax知らないだろキミ
    197 : nobodyさん - 2010/12/30(木) 18:04:47 ID:??? (+46,+12,-25)
    >>193
    もう少しAjaxを勉強したほうがいいと思います。
    198 : nobodyさん - 2010/12/30(木) 18:18:32 ID:??? (+57,+29,-7)
    にちゃんで荒らしに勤しむ年の瀬。
    そんな悲惨な人生もあるのです。
    199 : nobodyさん - 2010/12/30(木) 18:40:40 ID:??? (+57,+29,-36)
    まだこのネタひっぱってたのか
    低レベルなAjax厨はおとなしくゴメンなさいして
    JavaScriptスレいって教えてもらえ
    ここは完全にスレ違い
    200 : nobodyさん - 2010/12/30(木) 19:17:08 ID:??? (+0,-28,-14)
    このグダグダさは、AjaxつうよりAjapaやん。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について