Note: Sage SalesLogix provides two out of the box, starter

advertisement
Optimizing SalesLogix Web
Tips for your SalesLogix Web Environment
Agenda
Introduction
The Art of Performance Tuning
SQL Server Indexes
IIS
Thinking outside the box when nothing seems to work
Optimized Presentation (FireFox vs IE)
Q&A
Note: The tips and tricks provided here are the byproduct of countless implementations
and integrations performed by Sage’s Professional Services Group. These
recommendations are shared with product development and technical publications in
order to provide a better implementation experience in the future. Until they are officially
documented, please consider them suggestions that have helped in other SalesLogix
implementations and may help in yours.
Sage Professional Services Group
Mike Strieder
Project Manager, Professional Services Group
Mike.Strieder@Sage.com
480-444-4956
The Art of Performance Tuning
One bad setting can have a tremendous impact on your
server.
The trick to performance tuning is to make your changes
one at a time….then monitor the results,….then do it again!
Once you are happy with the results move the
configurations and settings from your SalesLogix TEST
environment to your PRODUCTION server.
Continue to use Performance tuning regularly over time as
things might need to be reviewed periodically as data
changes.
SQL Server Tuning
Tips for Optimizing Indexes
SQL Server Indexes
Note: Sage SalesLogix provides two out of the box, starter databases. The starter
database configuration supports a number of user scenarios and system
configurations. In many cases, the performance will be acceptable. If not, a number of
optimization techniques can be assessed and deployed to help with your optimization
goals. Results will vary due to system environment, system load, and database
customizations. Consult an experienced database specialist familiar with Sage
SalesLogix or similar application to achieve optimal performance.
Know your customer and their business rules.
Ownership: Teams vs Everyone.
Deep Dive…
(Keep in mind this is a consulting engagement so an
experienced resource with a DBA related skillset should be the only person
performing this work)
SQL Server Indexes
SQL Server Indexes
Step 1: Change Account.SeccodeID to a NONCLUSTERED index
SQL Server Indexes
Step 2: Make Account.AccountID your unique CLUSTERED index
SQL Server Indexes
When Finished….
SQL Server Indexes
Other indexes you may want to create / change
Account
Ticket
Contact
User_Activity
User_Notification
Contract
Opportunity
Seccode
SQL Server Indexes
Using SLX Profiler
Launch it!
Start it!
Analyze it!
SQL Server Indexes
Fix the Top 10 Worst Performing Queries from SLXProfiler.exe
SQL Server Indexes
Apply recommendations, document in .txt file to apply to Production
SQL Server Indexes
Append DBCC Reindex statement at bottom of your Indexes.txt file
When ready, execute entire .txt file in Query Analyzer and reindex DB
IIS Tuning
How to configure IIS for Optimal Performance
IIS Optimization
Use SLXProfiler & FiddlerTool to establish SQL & HTTP
baselines for your tests: http://www.fiddlertool.com
Document original IIS settings before modifying.
Perform EXACT test scripts every time you make a
change.
• Ensure tabs stay consistent each visit to the screen. If the
history tab is visible the first time you navigate to the Account
Detail form, ensure it is visible on ALL your visits to the form.
• Login as a USER rather than Admin. (Admin is NOT a USER)
When in doubt, plan to re-run tests a second time.
IIS Optimization
Top 10 Performance Tweaks (No specific Order)
#1. Turn on Compression
IIS Optimization
Top 10 Performance Tweaks (No specific Order)
#2. Modify Compression Settings (IIS Resource Kit or Script it!)
# of bytes received by SalesLogix area
Full Compression works well in most environments
IIS Optimization
Top 10 Performance Tweaks (No specific Order)
IIS Optimization
Top 10 Performance Tweaks (No specific Order)
This script has not been
qualified or tested by
Sage QA. It is an
attempt to save time
without having to
download the IIS
Resource Kit and edit
values manually.
Use at your own risk.
IIS Optimization
Top 10 Performance Tweaks (No specific Order)
#3. Add gzip.dll to Web Service Extension
IIS Optimization
Top 10 Performance Tweaks (No specific Order)
#3. Add gzip.dll to Web Service Extension
IIS Optimization
Top 10 Performance Tweaks (No specific Order)
#3. Add gzip.dll to Web Service Extension
IIS Optimization
Top 10 Performance Tweaks (No specific Order)
#3. Add gzip.dll to Web Service Extension
IIS Optimization
Top 10 Performance Tweaks (No specific Order)
#4. Turn off Logging
IIS Optimization
Top 10 Performance Tweaks (No specific Order)
#5. Avoid Indexing
IIS Optimization
Top 10 Performance Tweaks (No specific Order)
#6. Enable Content Expiration
IIS Optimization
Top 10 Performance Tweaks (No specific Order)
#7. ISAPI Caching
IIS Optimization
Top 10 Performance Tweaks (No specific Order)
#8. ASP Buffering
IIS Optimization
Top 10 Performance Tweaks (No specific Order)
#9. Disable Debugging IIS & SLX Deployment
IIS Optimization
Top 10 Performance Tweaks (No specific Order)
#10. Defrag your Web Server. If WebServer is Virtualized, defragging may cause
unwanted .vmx growth exponentially until it has been shrunk
IIS Optimization
Your IIS WebServer should now be optimized (or a lot better off).
Remember to RESET IIS
* You may also want to recommend a scheduled nightly IISRESET for maintenance reasons
Thinking Outside the Box
“I think I tuned my DB and Web Server …what else??”
Thinking outside the box…
Tried everything and you seem to be running out of ideas?
De-Chroming FireFox /
Adding a Theme
Thinking outside the box…
Here’s what to do with all those 128MB Flash Drives stashed in your drawer…
Move your Temporary Internet Files to Memory!
•It’s faster than the virtual memory which is
accessed through the hard disk drive
•It’s cheaper as compared to the actual
Physical Memory.
• If you are using Vista, you can use your
RAM Drive if you need more memory via ReadyBoost
Thinking outside the box…
Browser Optimization
Disable AutoComplete
Keep IE/FireFox Cache Small
Clear Passwords/Cookies/History, etc
Disable Add-Ons clogging up your browser (ssvHelperClass Plugin)
Clean up the Temp Folder
Turn off Phishing (Some companies may not like this)
Disable RSS Feeds
Turn off Clear Type
Upgrade your browser to a newer SUPPORTED version
Thinking outside the box…
Server Optimization
Use Hardware Raid 0
It is recommended to use a hardware RAID system rather than software RAID included with
Windows 2003 Server. Using out of box software RAID places additional demands on your
processor, whereas hardware RAID offloads these demands to the RAID unit.
Set your servers to Maximize data throughput for network
applications. (File Sharing is default)
Defrag your servers!
Thinking outside the box…
Theming FireFox
If you are still “not there yet”, see if you can use FireFox or
other browsers.
If your customer does not need ActiveX controls, consider
using FireFox and THEME it so much to the point it no
longer resembles a browser. (Many companies don’t allow browsers
other than IE. Therefore make SalesLogix look like an application, not a browser)
..or
Thinking outside the box…
Data Encryption & AntiVirus
The following screenshot was taken from an actual
customer’s workstation. It shows the system running IDLE
at 33-40% CPU utilization.
By default, most antivirus programs are also scanning the
Temporary Internet files folder on the workstation and the
Web Server might be consumed with Antivirus scanning
the web deployment folders.
If this is an issue, always check with your customer to see
if this can be changed.
Demonstration
Optimized SalesLogix Web Deployment
Summary of Optimizations
If the recommendations and guidelines I’ve covered
are followed, your customers performance goals will be
met (if not exceeded) for general navigation and group
lookups.
Download