PDA

View Full Version : Common Solutions for SeeFusion errors



Brian
October 25th, 2009, 10:33 AM
On our ColdFusion MX 7, ColdFusion 8 and ColdFusion 9 servers, we utilize SeeFusion to monitor the ColdFusion server. Long running scripts have been found to have a severe negative impact on the server performance and ColdFusion uptime.

Based on this, we have a limit on how long scripts can run on the server. This may cause you to get a SeeFusion terminated request error in some rare cases. Here are some suggestions that we have found resolve most of the SeeFusion issues:


Make sure the tables in the database are indexed properly
Any table used in a WHERE clause must be indexed
Use good SQL queries to limit the data retrieved
If using MS Access, periodically do a compact and repair


These suggestions will improve your page load performace and will likely resolve any issue with SeeFusion when the page is interacting with a database.

If you are still experiencing the problem after performing the above suggestions, make sure you found all of the "select" statements on the page and have the fields in the database indexed properly for ALL queries on the page.

Once that is verified, if you are still having the problem, if the page is performing an upload too or is only performing an upload, let us know (http://support.hostek.com) the URL in the browser when the error happens and mention that the page is performing and upload and we will verify the page and will likely whitelist it once verified.

Brian
March 1st, 2010, 01:57 PM
We often hear comments back like "I've been programming in ColdFusion for X # of years, and I know my code is right". I want to clarify that we are not questioning your code.

However, the SQL queries often times need to be optimized. This may or may not mean a code change. The most common "fix" is to make sure the database table is indexed properly. Sometimes a single field (column) needs indexed. Other times you may need to index a few fields. And then sometimes you can greatly speed up your application by creating a multi-column index (this can make a huge difference).

Here is an example query that needs a few fields (columns) indexed:

SELECT * FROM Products WHERE ItemID = #form.itemid# OR ProductID LIKE '%#SearchQuery#%'
ORDER BY ProductName ASC

In this Products table, the fields ItemID, ProductID and ProductName need to be indexed. Basically any field after the WHERE clause needs to be indexed.

Here is an example query where a multi column index would be very helpful:

SELECT * FROM Products WHERE ItemID = #form.itemid# AND ProdActive = 1

Having ItemID and ProdActive set as a multi-column index will speed up the query.

Here is one of the better written articles I've seen on how to speed up a site's load time (http://www.webapper.com/blog/index.php/2009/08/04/improve-coldfusion-performance-by-1000x-believe-me-its-possible/). This is a very well written article and is one that deserves your reading time if you want to really improve your site's load time: