雑文発散

«前の日記(2015-06-28) 最新 次の日記(2015-06-30)» 編集
過去の日記

2015-06-29 [長年日記]

[PHP] ちょっとダミーデータが欲しくて Fixture の仕組みを使ったら swap しまくりで終わらなかった

手元に AliceBundle がセットアップ済みの Symfony2 環境があったので、これを使ってダミーデータを作ろうと思いついた。

複数のテーブルでそれぞれ関連性のあるデータが欲しかったので、そういう用途には AliceBundle (というか AliceFaker)は最適だろうと思ったので、Google Spreadsheet でダミーデータを設計しつつ YAML 化して実験してた。

ちなみに「AliceBundleで自動テストのfixtureをyml化しよう」という記事は大変参考になったので、みんな読むと良いと思うよ。

で、まぁ、だいたい思い通りにいけそうだったので、そろそろ本気出すか!と10万件ほど生成しようとしたら、メモリ食いまくりで、最後には swap しまくりで一向に終わる気配がない。

コードの内部は見てないけど、10万件分のデータを全件投入するまで flush しない作りなんだな、これ。コマンド実行中には、データベース側に1件も投入されていなかったのし。

終わりそうで終わらない、ちょっと終わりそうなプロセスの状態(そこそこの時間を動き続けた状態)になったので、もしかしたらこのままなんとか終わるかな!?と思って、放置して帰ることに。まぁ、こういうのはだいたい swap も食いつぶして終了するオチなんだけど。