そもそもルータに対してやらせる処理ではないということは明らかですけど(笑)
最初は時間がかかりすぎて処理が止まって編集画面がうんともすんとも言わなくなり勘でタイムアウトかな?ということで/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 件のコメント:
コメントを投稿