Search

Related Items: Search


Da-Lite 50 ZIPPER BAG ( 40940 )


from: Da-Lite Screen Company, Inc.


Da-Lite Screen Company offers a wide range of rigid projection screen systems for any need ranging ...
List Price: $32.99
Our Price: $29.77
You Save: -$3.22 (10%)
Prices subject to change.


70INX70IN Versatol Tri-pod Screen Matte White Keystone Elim.

 out of 5 stars

from: Da-Lite Screen Company, Inc.


Da-Lite Screeen offers its Versatol durable tripod screen, an ideal solution for schools or business meetings. ...
List Price: $146.95
Our Price: $105.38
You Save: -$41.57 (28%)
Prices subject to change.


Epson S5 2000 Lumen 3LCD Multimedia Projector

 out of 5 stars

from: Epson


The travel-friendly Epson PowerLite S5 helps you achieve powerful presentations at your office or on the ...
List Price: $599.99
Our Price: $499.99
You Save: -$100.00 (17%)
Prices subject to change.


Epson PowerLite 77c 2200 Lumen Multimedia Projector

 out of 5 stars

from: Epson


The Epson PowerLite 77c delivers presentations that are sure to impress with 2200 lumens, XGA resolution ...
List Price: $749.00
Our Price: Special Discount!
Prices subject to change.


70IN Zipper Bag for Tri-pod Screen

 out of 5 stars

from: Da-Lite Screen Company, Inc.


Da-Lite offers the world's widest selection of electric screens for the ultimate in convenience and professional ...
List Price: $52.63
Our Price: $34.30
You Save: -$18.33 (35%)
Prices subject to change.


ViewSonic PJ503DB DLP Projector

 out of 5 stars
2007-03-01

from: View Sonic


Package Contents: Projector, power cords, VGA cable, remote control, lens cap, ViewSonic Wizard CD & Quick ...


40INX40IN Versatol Tri-pod Screen Matte White Keystone Elim.

 out of 5 stars

from: Da-Lite Screen Company, Inc.


High-low case adjustment allows a 40' x 40' screen to be fully opened in a room ...
List Price: $104.89
Our Price: $56.24
You Save: -$48.65 (46%)
Prices subject to change.


Targus Wireless Presenter with Laser Pointer

 out of 5 stars

from: Targus


The Wireless Presenter with Laser Pointer features all of the necessities that other competitive presenters offer. ...
List Price: $29.99
Our Price: $26.55
You Save: -$3.44 (11%)
Prices subject to change.


Targus TPJ110 Projector Case

 out of 5 stars

from: Targus


Targus is the recognized world leader in the design, development and distribution of computer related business ...
List Price: $49.35
Our Price: $35.42
You Save: -$13.93 (28%)
Prices subject to change.


TableTote, portable stand for laptops, printers, projectors

 out of 5 stars

from: PC Tables LLC


Based on over 100 feedback comments over last 12 months, have achieved a 4.6 out of ...




 





Cooking Software - Magic Chef Oven Parts |
  flatlanel
Software 





The Web Services Policy Working Group has published two Web Services Policy 1.5 - Working Drafts: an update to the Primer and a First Public Working Draft of Guidelines for Policy Assertion Authors. The new Guidelines document provides ...

(Source: Sunbelt Software) Messaging, internal and Web-based threats are increasing in number and severity. The risks to organizations large and small are real problems that users and their employers face if they do not establish adequate defenses against this growing variety of threats.

Read this Osterman Research paper to learn how organizations must implement a layered defensive strategy to protect against all types of threats and how Sunbelt Software can help.


Mark Matthews' Weblog

During the process of building the new query analysis feature for MySQL Enterprise Monitor 2.0, we thought the best way to test it at a nascent stage was to use it to tune our own application (since we use MySQL as the backend repository). What we found was actually quite interesting. It also showed that even to seasoned developers, who know that frameworks while helpful, often aren‘t the most direct, concise way to get things done, can often do very strange things that you don‘t quite expect.

For those of you that haven‘t heard about the feature itself, “query analysis“ takes all queries that are being processed by a MySQL server, normalizes them into something similar to a prepared statement form by removing literals, and then keeps track of total, min/max, average execution times, result set sizes, etc. at an aggregate level. It also takes snapshots of the “worst” examples of these queries, the ones with the highest execution time.

When we started using the first implementations of the feature on our own code, we found the following, interesting output:

What stuck out (at least to us), is that there is a lot of time spent toggling auto-commit state. In fact, if you add the "on" and "off" together, it's the second-most time consuming statement in our entire application! We thought we had this licked before we even looked at this query analysis data, because our application uses transactions all of the time, so we told DBCP to always return connections in auto-commit "false" mode. We even looked through what we thought was enough of the DBCP code to make sure this would actually work. So, what was causing these statements to run anyway? Well, the trick was, at this point during implementation, the server-side agent wasn't ready, so we were injecting this query analysis data via statement interceptors in the MySQL JDBC driver. So, we also setup the “worst” query to put in a stack trace in the comment field:

So, it was indeed coming out of some glue code we‘d written to wire DBCP into hibernate for our application (and still use our existing configuration mechanisms). Once the way was pointed, we set some appropriate breakpoints, and low-and-behold, we find this gem:

public void passivateObject(Object obj) throws Exception {
if(obj instanceof Connection) {
Connection conn = (Connection)obj;
if(!conn.getAutoCommit() && !conn.isReadOnly()) {
conn.rollback();
}
conn.clearWarnings();
conn.setAutoCommit(true);
}
if(obj instanceof DelegatingConnection) {
((DelegatingConnection)obj).passivate();
}
}

It makes sense to rollback when a connection is put back in the pool, as the application could‘ve misbehaved and started a transaction but didn‘t call commit() or rollback(). But, then, DBCP, without looking at how we‘ve configured this data source (to always be in auto-commit “false“), goes ahead and sets it to “true”.

So, what to do now? Should we internally fork DBCP, and keep merging this one-liner change every time we update DBCP? Do we file a bug, and wait for a new release of DBCP (we will, eventually). How do we fix it now? Well, once again, MySQL‘s JDBC interception facilities to the rescue. We just implement a very simple ConnectionLifecycleInterceptor that has the following implementation of setAutocommit(), which lets the caller setAutoCommit(false) and have it sent to the server, yet setAutoCommit(true) will never be sent to the server, and the JDBC driver will adjust its idea of autocommit state accordingly.

public boolean setAutoCommit(boolean flag) throws SQLException {
if (!flag) {
return true;
}

return false;
}

Of course, we had to test that nothing bad happened with our application using this trick, and when we determined that it was safe to operate in this manner, we ran query analysis again, and lo-and-behold, one issue solved, other statements to fix:

In my mind, the power of this feature is looking at query performance in aggregation. Seeing the SET … statements popping up in “SHOW PROCESSLIST” (which you‘d be lucky to catch, they‘re very short), or even in the general query log, wouldn‘t have demonstrated the amount of time wasted that we see here in our UI. Using this feature we have iteratively improved performance, watching with each release which queries bubble to the top, and tackling them.

For those of you that would like to see this feature in action on your own systems, if you‘re an existing MySQL Enterprise customer, you can get access to the beta release of MySQL Enterprise Monitor 2.0 at the MySQL Enterprise website.

For those of you that aren‘t yet existing customers, hold tight, soon we‘ll refresh the enterprise trial with this codebase.

In either case, feel free to ask us questions about the new features in our forums at http://forums.mysql.com/list.php?166

For those of you wanting to integrate query analysis with your application at a source-code level like we did with this example, hold tight as well and watch this space. MySQL Enterprise Monitor 2.0 supports REST as a way to populate the repository, and I‘ll be posting an example of how to do this with Connector/J and statement interceptors soon!


DAYTON, Ohio (Reuters) - Republican John McCain made a surprise choice of Alaska Gov. Sarah Palin as his running mate on Friday, adding a political unknown to the presidential ticket who could help him appeal to women voters.






Search

Shopping