Closed (fixed)
Project:
Drupal driver for SQL Server and SQL Azure
Version:
7.x-2.x-dev
Component:
Code
Priority:
Normal
Category:
Feature request
Assigned:
Unassigned
Reporter:
Created:
20 Aug 2013 at 18:59 UTC
Updated:
3 Jun 2015 at 14:04 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #1
david_garcia commentedFollowing up....
I've been working on the code since the initial post and solved several issues. Now attach proper patch.
This needs more work and testing, I found an aproximate 400ms-700ms reduction in logged users page load.
Cache can be rerouted to whatever caching mechanism you like (wincache in this example):
$conf['cache_class_cache_sqlsrv'] = 'DrupalWinCache';
* What needs to be worked on:
- Get some real benchmarks
- See how big the query cache gets (about 1MB on my tests), maybe some sort of criteria could be used to decide which queries should be cached and which not. Maybe only SELECT queries or limit the length of queries that should be cached.
Comment #1.0
david_garcia commentedremove incomplete initially posted code for cleanup
Comment #2
damienmckennaIf you want others to review your code, don't leave the "assigned" field set to your name :)
At a cursory glance, this needs to be updated to match the Drupal coding standards.
Comment #3
damienmckennaThis kind of caching can also result in problems if e.g. the data being queried was modified during the current execution cycle.
Comment #5
david_garcia commentedCommited a preview of the cache mechanism in the experimental 7.x-2.x branch of the driver.
This caches query processing and other database schema information, not query results themselves.
The cache will only work if you are using Wincache and set:
$conf['cache_class_fastcache'] = 'DrupalWinCache';
I benchmarked this a little bit to see if there were any gains, with Apache Benchamark:
+24% pages per second on a local environment with all high level caching turned off.
Comment #6
david_garcia commented7.x-2.x and 8.x-2.x are tightly coupled with wincache based on a more refined - and tested - version of the original proposal.