ApacheでYou don't have permission to access / on this serverが出た。
要は権限の問題。作業ディレクトリに権限を渡してあげればいい。
mysqldump: [Warning] unknown variable 'loose-local-infile=1'について
以下のERROR、、ではなくてWarningが出たので、対処した。
mysqldump: [Warning] unknown variable 'loose-local-infile=1'
以下のサイトを読むと、これは[Error] unknown variableを出さないための裏技っぽい。 んなこと知らんがな。どうなっとんじゃ。
何度かリリースを経験して
下で今のgit hashがわかるらしい。
git rev-parse HEAD
問題が起これば色々直して行く方法はある。
あと、リリース時には操作コンソール、ログ確認、topコマンドによる確認。の3つをしながら行う方がいい。
課題もらっちゃった。。
これについて解いていこうと思っている。
何か処理したレコード群を、既存のテーブルにon duplicateでinsertする課題。 1. バルクinsert 2. tsvに一旦出力して、ローカルload dataとリモートload data 3. tsvに一旦出力して、csv engineでtableに見せかけて、既存tableにinsert 4. load dataは、STDINを入力にできるから、一時ファイル書き出しを省略して、subprocessで起動したload dataプロセスのSTDINにレコードを流し込んでinsert 5 . 上の、load dataのパターンそれぞれで、1万レコード単位で、PKでソートしつつinsert 一定期間で古いレコードを削除する時に楽になるよう、PARTITION BY RANGEを使う。 partitionの追加は、できればevent schedulerで自動化したほうがいいけど、とりあえず手動でいい
Webのアクセスピーク時の負荷を測るにはSiegeってものがあるらしい。
Webの最後の負荷テストの時に色々ツールがあると便利だ思った。
他のテストもツールを組み合わせるといい感じに成形できそう。
以下は今のレスポンスタイムを確かめる方法。
$ curl -kL http://google.com -o /dev/null -w "%{time_total}\n" 2> /dev/null
$ siege -c 20 -i -b -f test.txt --time=300S
SQLの集約化した後の合計値
こんな感じでまとめられる。
SELECT sum(conversions.value)*count(DISTINCT conversions.id)/count(*) as conversion_value FROM links LEFT OUTER JOIN stats ON links.id = stats.parent_id LEFT OUTER JOIN conversions ON links.id = conversions.link_id GROUP BY links.id ORDER BY links.created desc;