Difference between revisions of "Fog Tweaks"
m (→Speed up DB queries) |
m (→Persistent DB Connection) |
||
(39 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
*The following sections are devoted to strictly performance. If there are always pros and cons when tweaking to read carefully. All Pros/Cons should be added. | *The following sections are devoted to strictly performance. If there are always pros and cons when tweaking to read carefully. All Pros/Cons should be added. | ||
− | *'''Pros'' description of the good | + | *ALL these Settings must be changed by the '''FOG User'''. If tested continuously and fully approved then these may make it into the Default Setup of fog. |
+ | *<span style="background-color:RED; color:Orange;">'''DO AT YOUR OWN RISK'''</span> | ||
+ | *'''Pros''' description of the good | ||
*'''Cons''' description of the bad | *'''Cons''' description of the bad | ||
− | *'''PvC | + | *'''PvC''' A rating scale of 1 to 10, 1 being the ALL '''Con''' and 10 being ALL '''Pro''' |
− | + | *'''Dev. Approved''' One or multiple developers of Fog has approved this setting to be used in '''most if not all''' installations of FOG. ✔ Approved or ✖ Denied | |
+ | |||
+ | ---- | ||
+ | === Persistent DB Connection === | ||
*Use a '''Persistent DB Connection'''. This uses the already established connection to get the data, rather than reopening the socket or TCP link | *Use a '''Persistent DB Connection'''. This uses the already established connection to get the data, rather than reopening the socket or TCP link | ||
− | #Open this file '''/var/www/fog/lib/fog/Config.class.php''' | + | *#Open this file '''/var/www/fog/lib/fog/Config.class.php''' |
− | #Go to line: <pre>define('DATABASE_HOST', 'localhost');</pre> | + | *#Go to line: <pre>define('DATABASE_HOST', 'localhost');</pre> |
− | #Change to: <pre>define('DATABASE_HOST', 'p:127.0.0.1');</pre> | + | *#Change to: <pre>define('DATABASE_HOST', 'p:127.0.0.1');</pre> |
− | #Restart mysql: <pre>service mysql restart</pre> | + | *#Restart mysql: <pre>service mysql restart</pre> |
− | #Open this file '''/opt/fog/.fogsettings''' (so updates to overwrite the settings above) | + | *#Open this file '''/opt/fog/.fogsettings''' (so updates/upgrades to overwrite the settings above) |
− | #Go to line: <pre>snmysqlhost="";</pre> | + | *#Go to line: <pre>snmysqlhost="";</pre> |
− | #Change to: <pre>snmysqlhost="p:127.0.0.1";</pre> | + | *#Change to: <pre>snmysqlhost="p:127.0.0.1";</pre> |
+ | *If your DB is on another server, use p:[ipaddress of DB server]. | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | === PHP Session Purging === | ||
+ | *Known bug in Ubuntu's config. It's running fuser for each PHP session file easily racking up thousands of processes. | ||
+ | *Look for and purge old sessions better | ||
+ | *#Open this file '''/etc/cron.d/php5''' | ||
+ | *#Go to line: <pre>09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete</pre> | ||
+ | *#Change to: <pre>09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) -delete</pre> | ||
+ | *#Restart apache <pre>service apache2 restart</pre> | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | === Updating Script === | ||
+ | *<span style="background-color:RED; color:white;">For Beta and frequent updaters ONLY!</span> | ||
+ | *✖ Denied due to this only applying to a small select group. | ||
+ | *In Fog v1.3.0-r2759+ the init's and kernels are downloaded at install thus "slowing" the install process. | ||
+ | *When doing constant updates a quicker means to update would be to copy the files you need. | ||
+ | |||
+ | *#Step one make a backup of the original: | ||
+ | *#Run this script: | ||
+ | |||
+ | *Ubuntu/Debian installs | ||
+ | sudo cp /var/www/fog/lib/fog/Config.class.php ~/Config.class.php #backup current config file. | ||
+ | sudo rm -rf /var/www/fog.prev #removes the original previous folder if it exists. | ||
+ | sudo mv /var/www/fog /var/www/fog.prev #moves the current into fog.prev for backup | ||
+ | cd /loc/of/svn/folder/trunk; svn up #update the trunk to the latest | ||
+ | sudo cp /loc/of/svn/folder/trunk/packages/web /var/www/fog #copy the new svn gui to the system. | ||
+ | sudo chown -R www-data:www-data /var/www/fog; sudo chown -R fog:www-data /var/www/fog/service/ipxe; #change permissions to appropriate values. | ||
+ | sudo cp ~/Config.class.php /var/www/fog/lib/fog/Config.class.php #copy back config | ||
+ | |||
+ | *RedHat installs | ||
+ | cp /var/www/html/fog/lib/fog/Config.class.php ~/Config.class.php #backup current config file. | ||
+ | rm -rf /var/www/html/fog.prev #removes the original previous folder if it exists. | ||
+ | mv /var/www/html/fog /var/www/html/fog.prev #moves the current into fog.prev for backup | ||
+ | cd /loc/of/svn/folder/trunk; svn up #update the trunk to the latest | ||
+ | cp /loc/of/svn/folder/trunk/packages/web /var/www/html/fog #copy the new svn gui to the system. | ||
+ | chown -R apache:apache /var/www/html/fog; sudo -R fog:apache /var/www/html/fog/service/ipxe; #change permissions to appropriate values. | ||
+ | cp ~/Config.class /var/www/html/fog/lib/fog/Config.class.php #copy back config | ||
+ | |||
+ | ---- | ||
+ | |||
+ | == [[Bonding Multiple NICs]] == | ||
+ | |||
+ | *Setup a bond where multiple network cards are combined to look like a single NIC for increased throughput and redundancy. | ||
+ | *[[Bonding Multiple NICs]] | ||
+ | *✖ Denied due to only working with some hardware | ||
+ | *Constant bug complains in Ubuntu for this setting | ||
+ | ---- | ||
=Results= | =Results= | ||
{| class="wikitable sortable" border="1" cellspacing="0" cellpadding="3" | {| class="wikitable sortable" border="1" cellspacing="0" cellpadding="3" | ||
|- | |- | ||
− | ! Option !! Pros !! Cons !! PvC !! | + | ! Option !! Pros !! Cons !! PvC !! Dev. Approved |
|- | |- | ||
| Persistent DB Connection ||Speed in Web GUI response time || Connection is always open || 9 || ✔ | | Persistent DB Connection ||Speed in Web GUI response time || Connection is always open || 9 || ✔ | ||
+ | |- | ||
+ | | PHP Session Purging || Purges Old sessions Better || None || 10 || ✔ | ||
+ | |- | ||
+ | | Updating Script || Updates FOG without Kernels and init downloads || May not have most up-to-date Kernels and init || 9 || ✖ | ||
+ | |- | ||
+ | | Bonding Multiple NICs || Increases Redundancy or Throughput || Only works with some hardware || 5 || ✖ | ||
|} | |} |
Latest revision as of 14:25, 28 January 2015
Contents
Tweaks
- The following sections are devoted to strictly performance. If there are always pros and cons when tweaking to read carefully. All Pros/Cons should be added.
- ALL these Settings must be changed by the FOG User. If tested continuously and fully approved then these may make it into the Default Setup of fog.
- DO AT YOUR OWN RISK
- Pros description of the good
- Cons description of the bad
- PvC A rating scale of 1 to 10, 1 being the ALL Con and 10 being ALL Pro
- Dev. Approved One or multiple developers of Fog has approved this setting to be used in most if not all installations of FOG. ✔ Approved or ✖ Denied
Persistent DB Connection
- Use a Persistent DB Connection. This uses the already established connection to get the data, rather than reopening the socket or TCP link
- Open this file /var/www/fog/lib/fog/Config.class.php
- Go to line:
define('DATABASE_HOST', 'localhost');
- Change to:
define('DATABASE_HOST', 'p:127.0.0.1');
- Restart mysql:
service mysql restart
- Open this file /opt/fog/.fogsettings (so updates/upgrades to overwrite the settings above)
- Go to line:
snmysqlhost="";
- Change to:
snmysqlhost="p:127.0.0.1";
- If your DB is on another server, use p:[ipaddress of DB server].
PHP Session Purging
- Known bug in Ubuntu's config. It's running fuser for each PHP session file easily racking up thousands of processes.
- Look for and purge old sessions better
- Open this file /etc/cron.d/php5
- Go to line:
09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete
- Change to:
09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) -delete
- Restart apache
service apache2 restart
Updating Script
- For Beta and frequent updaters ONLY!
- ✖ Denied due to this only applying to a small select group.
- In Fog v1.3.0-r2759+ the init's and kernels are downloaded at install thus "slowing" the install process.
- When doing constant updates a quicker means to update would be to copy the files you need.
- Step one make a backup of the original:
- Run this script:
- Ubuntu/Debian installs
sudo cp /var/www/fog/lib/fog/Config.class.php ~/Config.class.php #backup current config file. sudo rm -rf /var/www/fog.prev #removes the original previous folder if it exists. sudo mv /var/www/fog /var/www/fog.prev #moves the current into fog.prev for backup cd /loc/of/svn/folder/trunk; svn up #update the trunk to the latest sudo cp /loc/of/svn/folder/trunk/packages/web /var/www/fog #copy the new svn gui to the system. sudo chown -R www-data:www-data /var/www/fog; sudo chown -R fog:www-data /var/www/fog/service/ipxe; #change permissions to appropriate values. sudo cp ~/Config.class.php /var/www/fog/lib/fog/Config.class.php #copy back config
- RedHat installs
cp /var/www/html/fog/lib/fog/Config.class.php ~/Config.class.php #backup current config file. rm -rf /var/www/html/fog.prev #removes the original previous folder if it exists. mv /var/www/html/fog /var/www/html/fog.prev #moves the current into fog.prev for backup cd /loc/of/svn/folder/trunk; svn up #update the trunk to the latest cp /loc/of/svn/folder/trunk/packages/web /var/www/html/fog #copy the new svn gui to the system. chown -R apache:apache /var/www/html/fog; sudo -R fog:apache /var/www/html/fog/service/ipxe; #change permissions to appropriate values. cp ~/Config.class /var/www/html/fog/lib/fog/Config.class.php #copy back config
Bonding Multiple NICs
- Setup a bond where multiple network cards are combined to look like a single NIC for increased throughput and redundancy.
- Bonding Multiple NICs
- ✖ Denied due to only working with some hardware
- Constant bug complains in Ubuntu for this setting
Results
Option | Pros | Cons | PvC | Dev. Approved |
---|---|---|---|---|
Persistent DB Connection | Speed in Web GUI response time | Connection is always open | 9 | ✔ |
PHP Session Purging | Purges Old sessions Better | None | 10 | ✔ |
Updating Script | Updates FOG without Kernels and init downloads | May not have most up-to-date Kernels and init | 9 | ✖ |
Bonding Multiple NICs | Increases Redundancy or Throughput | Only works with some hardware | 5 | ✖ |