そもそもルータに対してやらせる処理ではないということは明らかですけど(笑)
最初は時間がかかりすぎて処理が止まって編集画面がうんともすんとも言わなくなり勘でタイムアウトかな?ということで/etc/php.ini のmax_execution_timeoutの設定値を30→300に変更しました。
アップロードは行われるようになったのですが、やはり時間が…。
luciの表示が行われなくなるのでターミナルからtopを叩いて直接見てみると。
こんな感じでメモリーも完全にスワップアウトしてシステムがロックしてる感じになってしまいます。Mem: 28296K used, 1132K free, 0K shrd, 128K buff, 2944K cached CPU: 99% usr 0% sys 0% nic 0% idle 0% io 0% irq 0% sirq Load average: 1.10 0.69 0.45 2/49 8774 PID PPID USER STAT VSZ %MEM %CPU COMMAND 8774 1435 root R 40808 139% 97% /usr/bin/php-cgi /www/blog/upload.php 1443 1442 root S 5096 17% 3% motion 4017 2378 root R 1380 5% 0% top 1438 1 root R 5096 17% 0% motion 1444 1442 root S 5096 17% 0% motion 1442 1438 root S 5096 17% 0% motion 1476 1 root S N 2632 9% 0% smbd -D 1478 1 root S 2132 7% 0% nmbd -D 1487 1 nobody S 1960 7% 0% proftpd: (accepting connections) 1006 1 root S 1516 5% 0% wpa_supplicant -B -P /var/run/wifi-wl 387 1 root S 1500 5% 0% syslogd -C128 2378 2377 root S 1392 5% 0% -ash 1279 1 root S 1388 5% 0% udhcpc -t 0 -i wlan0 -b -p /var/run/d 1 0 root S 1384 5% 0% init 367 1 root S 1384 5% 0% init 529 1 root S 1380 5% 0% udhcpc -t 0 -i eth1 -b -p /var/run/dh 1498 1 root S 1380 5% 0% watchdog -t 5 /dev/watchdog 369 366 root S 1376 5% 0% logger -s -p 6 -t sysinit 366 1 root S 1376 5% 0% /bin/sh /etc/init.d/rcS S boot 389 1 root S 1372 5% 0% klogd
アップロードのオプションでリサイズ指定があるのがあるのに指定しても使用量は小さくなりません。
ソースを見ていませんが、一度jpegをメモリー展開してから処理に入っている感じがします。
とりあえず画像の扱い方を内部展開しないでファイルとしてそのまま処理できるように改良するのがよいのかも。
参考
PHPのタイムアウト対策 http://kikky.net/pc/php_timeout.html
0 件のコメント:
コメントを投稿