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.