Performance and scalability
Image optimize (OptiPNG)
Provides API to optimize PNG images using OptiPNG.
SuperCron
SuperCron is a complete replacement for Drupal's built-in Cron functionality. It allows you to:
- See the list of all Cron hooks found in the enabled modules
- Change the order in which cron hooks are called
- Disable certain hooks
- Run the tasks you choose in parallel, so that cron tasks will be executed all at once rather than one after the other
- Identify the exceptions raised by individual hooks
- Call hooks individually on demand (great for identifying problems)
- Keep executing cron hooks that follow an exception, limiting the damage to only one module
- Measure the time it takes for a cron hook to execute (we display the last call timings and the average timings)
- Capture any output generated by the hooks
- Change the way Cron behaves when the site is under load (this optional feature requires Throttle to be enabled)
- Limit the IP addresses that may be allowed to call your cron scripts
The project is sponsored by 63reasons
No Anonymous Sessions
The no_anon module eliminates the need for sessions for anonymous users
This has the potential to reduce the server load and/or database contention on busy sites, since crawlers do not create entries in the session table for every page view.
See how this positively affected a large site at reducing server load by eliminating anonymous sessions for Drupal 6.x.
Side effects
Some modules use the $_SESSION superglobal variable to store info for anonymous users will be affected by this module. If your modules use this only for logged in users, then it will not be an issue. Before you install this module, make sure that your modules do not depend on that.
This approach is known to cause the following features not to work:
1. The core Who's Online block
2. The core Throttle module
3. The anonymous user count in the Administration Menu module.
For installation instructions, please refer to the README.txt file included with the tar ball.
Note that this module is for Drupal 6.x only. Drupal 7.x already has a similar feature in core.
Author
Magic Cache
Experimental cache module for Drupal core modules, which work for anonymous and logged users as well.
It will increase your performance even 2x on very heavy websites, when other caches are useless.
It's not a standard cache engine, so you can mix it with other cache engines as well.
No need to change your settings.php file.
NOTE
It's not ready for production servers yet.
Requirements to see some improvements: probably around more than 100 activated modules
Please use it only for testing purposes.
See some benchmarking statistics here:
#471322: Initial test
REQUIREMENTS
Probably you need at least more than 100 activated modules.
Nobody using cache engine, if website is loading fast.
If you have problem with performance, then install this module.
Please use it for testing purposes, because it could cause some side effects.
Later it should become more stable.
INSTALLATION
- Just enable the module;)
TROUBLESHOOTING
This module changing system and menu_router core tables to run cache engine and it's not stable yet, so in case when your experience WSOD - please execute WSOD from DTools module (emergency mode) to fix common WSOD issues.
If you are not experienced user, please do not install this module to prevent any damage of your website.
CACHING METHODS
Database tweaks
Project merged into Drupal Tweaks module
Please use following module instead:
Drupal Tweaks
-------------------
This module allow you to enable and change following settings in database:
- SQL_BIG_SELECTS
- MAX_JOIN_SIZE
- MAX_ALLOWED_PACKET
- WAIT_TIMEOUT
and changing SQL_MODES
Read more about those variables:
http://dev.mysql.com/doc/refman/5.1/en/server-session-variables.html
And SQL Modes:
http://dev.mysql.com/doc/refman/5.1/en/server-sql-mode.html
Note: It will not work on servers, where your account don't have proper privileges!
You can also follow similar topics:
#361967: Increase MAX_JOIN_SIZE and MAX_ALLOWED_PACKET settings in system.install
You can also read:
http://drupal.org/node/259580 ("Warning: MySQL server has gone away" - Tune MySql to resolve this problem)
http://www.palantir.net/blog/beware-mysql-51-my-son
Personalized Settings
It's a powerful module which enhance other modules functionality by personalizing form settings provided by them per user or per role.
Example 1:
Module_1 have the settings page at admin/settings/my_module_settings
As you know, those settings are global.
With this module, if you allow users to change those options (access administration pages), each user (or role) will have his own Personalized Settings.
Example 2:
You've got http://drupal.org/project/booking_timeslots module installed.
You've roles: company, parent and child
Every parent could book a birthday party for their children within specified company.
After installing personalized_settings then each company can have their own personal settings like number of available slots, customized time period, etc.
So each parent inherit company's personal settings, so they can see specified number of slots which are available for booking, what was set by their company.
INSTALLATION:
1. Enable the module.
2. Go to: admin/settings/personalized_settings and add form names which you want to personalize.
Note: If those forms are within admin/ path, set proper access for user role (access administration pages), that then can access it or create direct access to those forms.
