Performance and scalability

Image optimize (OptiPNG)

doq - June 6, 2009 - 13:23

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:

  1. See the list of all Cron hooks found in the enabled modules
  2. Change the order in which cron hooks are called
  3. Disable certain hooks
  4. Run the tasks you choose in parallel, so that cron tasks will be executed all at once rather than one after the other
  5. Identify the exceptions raised by individual hooks
  6. Call hooks individually on demand (great for identifying problems)
  7. Keep executing cron hooks that follow an exception, limiting the damage to only one module
  8. Measure the time it takes for a cron hook to execute (we display the last call timings and the average timings)
  9. Capture any output generated by the hooks
  10. Change the way Cron behaves when the site is under load (this optional feature requires Throttle to be enabled)
  11. Limit the IP addresses that may be allowed to call your cron scripts

The project is sponsored by 63reasons

No Anonymous Sessions

kbahey - May 30, 2009 - 03:23

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

Khalid Baheyeldin of 2bits.com.

Magic Cache

kenorb - May 23, 2009 - 20:08
Test Plan 01 - Comparison of Standard Drupal Cache and Magic Cache on application with around 133 active modules

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

db_tweaks Settings Page

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

Personal Settings Configuration Page

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.

Syndicate content
 
 

Drupal is a registered trademark of Dries Buytaert.