Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Look Into gzip to free up nvram space #51

Open
wrdixon opened this issue May 28, 2013 · 5 comments
Open

Look Into gzip to free up nvram space #51

wrdixon opened this issue May 28, 2013 · 5 comments
Assignees

Comments

@wrdixon
Copy link
Contributor

wrdixon commented May 28, 2013

Some routers are having stability issues due to filling up the nvram. We need to figure out a way around this.

http://www.dd-wrt.com/phpBB2/viewtopic.php?p=432543

@ghost ghost assigned nausica May 28, 2013
@RMerl
Copy link

RMerl commented May 28, 2013

Reducing memory usage through gzip could be a way (use base64 to encode the resulting data afterward).

Having a watchdog monitoring free nvram space and doing something when it gets below a certain threshold (such as clearing some temporary vars) could also be an idea, but then you risk clearing temp vars that were just set by httpd as the user was committing some changes.

@wrdixon
Copy link
Contributor Author

wrdixon commented May 29, 2013

Thanks Merlin! I think we're going to look into gzip as the rules and groups in ET can use a lot of space (esp when there are 50+ computers on the network).

There are some crazier solutions we were looking into, but this will at least be a start.

@ghost ghost assigned djfurie Jun 3, 2013
@djfurie
Copy link
Member

djfurie commented Jun 3, 2013

Initial tests are showing that ~11KB of "groups" can compress down into just over 2KB, base64 encoded. I've got the nvram read path sorted out, working on storing now. This will be implemented on the backend to make it transparent to the existing front end.

@wrdixon
Copy link
Contributor Author

wrdixon commented Jun 3, 2013

Excellent, 2KB we can afford! It's also great when we have to fix a bug that is popping up when we have 150 kids on an EasyTomato router!

@lancethepants
Copy link

This would be a great addition for tomato in general. I'm working on a tomato addition that would greatly benefit from nvram compression. I see there was some code started here.
http://linksysinfo.org/index.php?threads/easytomato-0-8-released.68661/#post-229591

Looks like it can be made to work generically enough for any desired nvram variable. I was wondering if there's been any more work on this, or any updates you have to the code. Other large variables such as OpenVPN certs, qos rules, etc, would definitely find this useful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants