Hi,
may be this interesting for you.
Installed 15.7
upgraded via seral console to 15.7.2
(followed the instruction of Franco about disable and enable the RAM disk)
I have not made any performance test. The fist impression is that the reaction of the OPNsense screens seem to be slow.
Load average after 2 hours and playing with the WEBinterface
load average: 0.65, 0.71, 0.66
Jakob
root@OPNs-tst:~ # df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ufs/OPNsense0 936M 637M 224M 74% /
devfs 1.0K 1.0K 0B 100% /dev
tmpfs 73M 48K 73M 0% /tmp
tmpfs 88M 14M 73M 16% /var
devfs 1.0K 1.0K 0B 100% /var/dhcpd/dev
root@OPNs-tst:~ # ps xauww
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 11 100.0 0.0 0 8 - RL 12:50PM 102:04.34 [idle]
root 0 0.0 0.0 0 80 - DLs 12:50PM 0:55.20 [kernel]
root 1 0.0 0.2 9048 572 - ILs 12:50PM 0:00.04 /sbin/init --
root 2 0.0 0.0 0 8 - DL 12:50PM 0:00.00 [crypto]
root 3 0.0 0.0 0 8 - DL 12:50PM 0:00.00 [crypto returns]
root 4 0.0 0.0 0 16 - DL 12:50PM 0:00.12 [cam]
root 5 0.0 0.0 0 8 - DL 12:50PM 0:04.78 [pf purge]
root 6 0.0 0.0 0 8 - DL 12:50PM 0:00.00 [sctp_iterator]
root 7 0.0 0.0 0 8 - DL 12:50PM 0:00.36 [pagedaemon]
root 8 0.0 0.0 0 8 - DL 12:50PM 0:00.00 [vmdaemon]
root 9 0.0 0.0 0 8 - DL 12:50PM 0:00.02 [idlepoll]
root 10 0.0 0.0 0 8 - DL 12:50PM 0:00.00 [audit]
root 12 0.0 0.0 0 96 - WL 12:50PM 0:11.28 [intr]
root 13 0.0 0.0 0 8 - DL 12:50PM 0:00.00 [ng_queue]
root 14 0.0 0.0 0 24 - DL 12:50PM 0:00.07 [geom]
root 15 0.0 0.0 0 8 - DL 12:50PM 0:03.39 [rand_harvestq]
root 16 0.0 0.0 0 64 - DL 12:50PM 0:00.19 [usb]
root 17 0.0 0.0 0 8 - DL 12:50PM 0:00.00 [pagezero]
root 18 0.0 0.0 0 16 - DL 12:50PM 0:00.22 [bufdaemon]
root 19 0.0 0.0 0 8 - DL 12:50PM 0:00.27 [syncer]
root 20 0.0 0.0 0 8 - DL 12:50PM 0:00.06 [vnlru]
root 187 0.0 5.8 23720 13340 - Is 12:50PM 0:10.80 /usr/local/bin/python2.7 /usr/local/opnsense/service/configd.py
root 193 0.0 1.5 8976 3368 - Is 12:50PM 0:00.02 /sbin/devd
root 6212 0.0 0.8 10140 1892 - Ss 12:51PM 0:00.76 /usr/local/sbin/syslogd -s -c -c -l /var/dhcpd/var/run/log -P /var/run/syslog.pid -f /var/etc/syslog.conf
root 8016 0.0 1.8 12696 4092 - Is 12:52PM 0:00.00 /usr/local/sbin/sshd
root 14422 0.0 0.8 10084 1816 - Is 12:53PM 0:00.07 /usr/sbin/cron -s
root 15876 0.0 0.8 10160 1836 - Is 12:52PM 0:00.01 dhclient: vr1 [priv] (dhclient)
_dhcp 21585 0.0 0.8 10160 1912 - Is 12:52PM 0:00.01 dhclient: vr1 (dhclient)
root 28939 0.0 0.8 10200 1880 - Ss 12:52PM 0:01.54 /usr/local/sbin/filterlog -i pflog0 -p /var/run/filterlog.pid
root 38498 0.0 0.8 10136 1736 - Is 12:52PM 0:00.00 /usr/sbin/inetd -wW -R 0 -a 127.0.0.1 /var/etc/inetd.conf
root 39040 0.0 0.7 5832 1512 - I 2:42PM 0:00.00 sleep 60
root 51805 0.0 2.2 12976 5092 - S 12:52PM 0:01.58 /usr/local/sbin/lighttpd -f /var/etc/lighty-webConfigurator.conf
root 51845 0.0 0.7 9924 1548 - Is 12:53PM 0:00.00 minicron 240 /var/run/ping_hosts.pid /usr/local/sbin/ping_hosts.sh
root 52062 0.0 6.4 30648 14584 - Is 12:52PM 0:00.29 /usr/local/bin/php-cgi
root 52201 0.0 0.7 9924 1560 - I 12:53PM 0:00.01 minicron: helper /usr/local/sbin/ping_hosts.sh (minicron)
root 52236 0.0 0.7 9924 1548 - Is 12:53PM 0:00.00 minicron 3600 /var/run/expire_accounts.pid /usr/local/etc/rc.expireaccounts
root 52733 0.0 0.7 9924 1556 - I 12:53PM 0:00.00 minicron: helper /usr/local/etc/rc.expireaccounts (minicron)
root 52875 0.0 0.7 9924 1548 - Is 12:53PM 0:00.00 minicron 86400 /var/run/update_alias_url_data.pid /usr/local/etc/rc.update_alias_url_data
root 53334 0.0 0.7 9924 1556 - I 12:53PM 0:00.00 minicron: helper /usr/local/etc/rc.update_alias_url_data (minicron)
root 53336 0.0 6.3 30648 14360 - Is 12:52PM 0:00.27 /usr/local/bin/php-cgi
nobody 54968 0.0 1.5 10988 3332 - I 12:52PM 0:00.05 /usr/local/sbin/dnsmasq --all-servers --rebind-localhost-ok --stop-dns-rebind --dns-forward-max=5000 --cache-size=10000 --local-ttl=1
root 57834 0.0 6.4 30648 14584 - I 12:52PM 0:00.00 /usr/local/bin/php-cgi
root 58344 0.0 6.3 30648 14360 - I 12:52PM 0:00.00 /usr/local/bin/php-cgi
root 60052 0.0 0.7 10036 1700 - I 12:53PM 0:00.02 /usr/libexec/getty Pc ttyv0
root 60273 0.0 0.7 10036 1700 - I 12:53PM 0:00.02 /usr/libexec/getty Pc ttyv1
root 60506 0.0 0.7 10036 1700 - I 12:53PM 0:00.02 /usr/libexec/getty Pc ttyv2
root 60775 0.0 0.7 10036 1700 - I 12:53PM 0:00.02 /usr/libexec/getty Pc ttyv3
root 60945 0.0 0.7 10036 1700 - I 12:53PM 0:00.02 /usr/libexec/getty Pc ttyv4
root 61002 0.0 0.7 10036 1700 - I 12:53PM 0:00.02 /usr/libexec/getty Pc ttyv5
root 61332 0.0 0.7 10036 1700 - I 12:53PM 0:00.02 /usr/libexec/getty Pc ttyv6
root 61437 0.0 0.7 10036 1700 - I 12:53PM 0:00.02 /usr/libexec/getty Pc ttyv7
dhcpd 61645 0.0 4.0 16224 9224 - Is 12:52PM 0:00.01 /usr/local/sbin/dhcpd -user dhcpd -group dhcpd -chroot /var/dhcpd -cf /etc/dhcpd.conf -pf /var/run/dhcpd.pid vr0 vr2
root 62055 0.0 0.8 10212 1760 - Is 12:53PM 0:00.02 /usr/local/sbin/sshlockout_pf 15
root 63275 0.0 0.8 10020 1812 - S 12:52PM 0:00.80 /usr/local/sbin/radvd -p /var/run/radvd.pid -C /var/etc/radvd.conf -m syslog
root 85982 0.0 1.9 12960 4404 - S 12:52PM 0:00.24 /usr/local/sbin/lighttpd -f /var/etc/lighty-test-CaptivePortal.conf
root 86350 0.0 6.9 30648 15684 - Is 12:52PM 0:00.29 /usr/local/bin/php-cgi
root 86619 0.0 0.7 9924 1540 - Is 12:52PM 0:00.00 /usr/local/bin/minicron 60 /var/run/cp_prunedb_test.pid /usr/local/etc/rc.prunecaptiveportal test
root 86719 0.0 0.7 9924 1552 - I 12:52PM 0:00.03 minicron: helper /usr/local/etc/rc.prunecaptiveportal test (minicron)
root 87662 0.0 6.9 30648 15684 - Is 12:52PM 0:00.29 /usr/local/bin/php-cgi
root 87848 0.0 6.9 30648 15684 - Is 12:52PM 0:00.29 /usr/local/bin/php-cgi
root 88086 0.0 6.9 30648 15684 - Is 12:52PM 0:00.29 /usr/local/bin/php-cgi
root 88354 0.0 6.9 30648 15684 - I 12:52PM 0:00.00 /usr/local/bin/php-cgi
root 88480 0.0 6.9 30648 15684 - I 12:52PM 0:00.00 /usr/local/bin/php-cgi
root 88757 0.0 6.9 30648 15684 - I 12:52PM 0:00.00 /usr/local/bin/php-cgi
root 88937 0.0 6.9 30648 15684 - I 12:52PM 0:00.00 /usr/local/bin/php-cgi
root 89208 0.0 6.9 30648 15684 - I 12:52PM 0:00.00 /usr/local/bin/php-cgi
root 89282 0.0 6.9 30648 15684 - I 12:52PM 0:00.00 /usr/local/bin/php-cgi
root 89523 0.0 6.9 30648 15684 - I 12:52PM 0:00.00 /usr/local/bin/php-cgi
root 89540 0.0 6.9 30648 15684 - I 12:52PM 0:00.00 /usr/local/bin/php-cgi
root 90318 0.0 5.7 12924 12952 - Ss 12:52PM 0:01.04 /usr/local/sbin/ntpd -g -c /var/etc/ntpd.conf -p /var/run/ntpd.pid
root 97229 0.0 0.8 10432 1928 - Is 12:53PM 0:02.63 /bin/sh /var/db/rrd/updaterrd.sh
root 39555 0.0 0.8 10176 1868 u0 R+ 2:42PM 0:00.01 ps xauww
root 61738 0.0 1.0 10424 2184 u0 Is 12:53PM 0:00.21 login [pam] (login)
root 62593 0.0 0.8 10432 1912 u0 I 1:25PM 0:00.02 /bin/sh /usr/local/etc/rc.initial
root 63127 0.0 1.3 10796 2884 u0 S 1:25PM 0:00.07 /bin/csh
root@OPNs-tst:~ # top
last pid: 39887; load averages: 0.72, 0.70, 0.60 up 0+01:52:3314:42:55
54 processes: 1 running, 53 sleeping
CPU: % user, % nice, % system, % interrupt, % idle
Mem: 9516K Active, 93M Inact, 39M Wired, 12M Buf, 77M Free
Swap:
PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND
187 root 1 20 0 23720K 13340K accept 0:11 0.00% python2.7
97229 root 1 52 0 10432K 1928K wait 0:03 0.00% sh
51805 root 1 20 0 12976K 5092K kqread 0:02 0.00% lighttpd
28939 root 1 20 0 10200K 1880K bpf 0:02 0.00% filterlog
90318 root 1 20 0 12924K 12952K select 0:01 0.00% ntpd
63275 root 1 20 0 10020K 1812K select 0:01 0.00% radvd
6212 root 1 20 0 10140K 1892K select 0:01 0.00% syslogd
86350 root 1 52 0 30648K 15684K wait 0:00 0.00% php-cgi
87662 root 1 52 0 30648K 15684K wait 0:00 0.00% php-cgi
88086 root 1 52 0 30648K 15684K wait 0:00 0.00% php-cgi
87848 root 1 52 0 30648K 15684K wait 0:00 0.00% php-cgi
52062 root 1 52 0 30648K 14584K wait 0:00 0.00% php-cgi
53336 root 1 52 0 30648K 14360K wait 0:00 0.00% php-cgi
85982 root 1 20 0 12960K 4404K kqread 0:00 0.00% lighttpd
61738 root 1 21 0 10424K 2184K wait 0:00 0.00% login
63127 root 1 20 0 10796K 2884K pause 0:00 0.00% csh
14422 root 1 20 0 10084K 1816K nanslp 0:00 0.00% cron
54968 nobody 1 20 0 10988K 3332K select 0:00 0.00% dnsmasq 0.72, 0.70, 0.60 up 0+01:52:3514:42:57
0.0 0.0 0.5 0.599.0608
Hi Jakob,
thanks for this. 256 looks like a doable amount. We've had trouble with 128 MB installations and OOM kills, but with 77 MB free this looks like a stable setup. Does the sluggishness also affect networking or only GUI responsiveness? It could well be the CPU not being powerful enough to run the PHP code.
Cheers,
Franco
PS: I still fear that fetching updates may fail sooner or later. There is no easy way out of this without RAM or providing a larger NanoBSD image (the current one is 1GB, but maybe it should be 2GB per slice).
Franco,
if I run top on the serial console and do some changes on the GUI I see that python is creating workload.
I feel it is important to keep a eye on, how opnsense is running on ALIX. Do you have some hints how I could find possible resources "hogs"
Jakob
Python wraps around the low level scripts as an intermediary for PHP. Sometimes it executes unix commands, sometimes shell script, sometimes even PHP scripts. It's a bit tricky to track a Python subprocess as the language does not have an optimal threading model.
One could e.g. measure script runtime vs. Python overhead by doing:
# /usr/bin/time -h configctl service reload all
vs.
# /usr/bin/time -h /usr/local/etc/rc.reload_all
Franco:
This is on ALIX:
0.31s real 0.24s user 0.06s sys
root@OPNs-tst:~ # /usr/bin//time -h configctl service reload all
1m6.07s real 0.22s user 0.07s sys
root@OPNs-tst:~ # /usr/bin//time -h /usr/local/etc/rc.reload_all
1m9.11s real 7.77s user 4.87s sys
And this is on APU:
root@OPNsense:~ # /usr/bin/time -h configctl service reload all
1m41.24s real 0.08s user 0.02s sys
root@OPNsense:~ # /usr/bin/time -h /usr/local/etc/rc.reload_all
1m13.30s real 2.33s user 2.62s sys
Here are mines (on alix 2d3) :
root@alix:~ # /usr/bin/time -h configctl service reload all
OK
1m0.85s real 0.25s user 0.05s sys
root@alix:~ # /usr/bin/time -h /usr/local/etc/rc.reload_all
1m2.96s real 4.47s user 4.20s sys