This is a training session on how to analyze various issues on a DNN installation. It takes ca. 2 hours. It uses the 2illumin8 training model.
Training Specs
Goals of this Training
Ensure that all participants have a broad overview of...
- ...all the parts that can cause issues
- ...how to discern which area the issue is actually caused by
- ...where to look deeper once you've figured out the root cause
Intended Audience
This training is targeted at people who have already had some experience with DNN at a technical level - for example Web Designers, Developers and IT-Operations. It's not suited for content-editors, as it's technical.
Overview: Possible Issue-Causes
- Client (more detailed: PC, browser, settings, anti-virus, 3rd party software on the PC, his home network, his DNS, his firewall, his connection to the cloud)
- Inter-Net, the network in between (cabling and routing , the DNS in the cloud, root servers, ISPs on the client and server side)
- Host network (firewall, NAT, internal routing - also with special rules and URL filters, internal DNS etc.)
- Web server (IIS, ISAPI filters, Virtual servers & directories, .net framework including database drivers, security settings, 3rd party tools, external partners such as web services or databases, hardware including VM)
- Database server (SQL server, Windows & .net below, security settings on server or on DB, missing indexes, etc.)
- Server-to-server network, mostly the connection from web to DB (network, IP allocation, routing, etc.)
- Application such as DNN (...)
- Modules in DNN (... )
- Content - either because it catches up with something else or completely destroys the display
- Mashup-elements such as built-in Google Maps, Analytics, etc. 3rd party plugins
Preliminary Checks
- What happens?
- Which message appears? How does the system behave during the malfunction?
- How would that behave normally?
- On which action?
- Since when?
- What were the last changes? (today/yesterday)
- Did it ever work?
- How many people are affected?
- Productive? How critical?
- Has the problem been dealt with / dealt with / solved before?
- Does it happen more often?
- Has anything been added to the Project Notes/Documentation (e.g. 2sic dashboard)?
Useful Tools to analyze Website-Issues
Identify Client Issues
- Connected to the internet?
- other clients & browsers affected?
- test from remote / external / other location
- Client PC
- test without SSL / HTTPS / HTTP2 (is it faster?)
- Automatic search for proxy server?
- Are cookies accepted? Maybe does the site run an iFrame and Cookies are blocked via SameSite or P3P (obsolete)?
- Client network
- own DNS server?
- HOSTS file changed?
- Display problem?
- Got HTML code?
- Old browser?
- Old / slow computer?
- Test with Fiddler whether redirects happen
- Are there any JavaScript errors?
Internet / network
- Are DNS settings correct?
- Where is the server located? In-house? External hosting provider?
- Is a firewall (F5, ISA / Forefront), load balancer, proxy server, NAT, etc. involved?
- Is there a difference between HTTP 1.1 and HTTP 2.0? Older Firewalls may require updates to support HTTP 2.0 correctly!
Web application
General
- File changes today / last 7 days
- Fake / spam / hack files?
- Changes to web.config?
- Multiple (unknown?) Web.config files?
- Compare files with stable version
- Does it work for other users / logins?
- Which file formats are affected? aspx, html, jpg, pdf?
- Are URL Rewritings / Redirects / Proxying set up?
- Does it have 3rd party HTTP modules / handlers?
- Special assemblies / DLLs set up?
- Testing from the localhost
- Do you see a more detailed message?
- Mabe make a temporary entry in the host file for testing
- For HTTPS: Ensure latest TLS 1.2 (or even newer) is supported by all components.
Also see Transport Layer Security (TLS) best practices with the .NET Framework
DNN
- Bad skin?
- SQL DB
- > 100 MB?
- Transaction log > 1-50 MB?
- Modules
- New modules in use? Maybe only on sub-pages?
- Check DNN Logs
- EventLog
- Log4Net (
/Portals/_default/Logs/
)
- Module / page cache (not) activated?
- Check scheduler & history
- Many entries
- Are purge tasks running correctly?
- Search indexing?
- Portal settings
- Are portal aliases correct?
IIS Web Server
Config
- Check bindings & IP
- Are App Pool - configured correctly?
- 32 / 64bit?
- User?
- .NET version? Version conflict with other applications?
- Special ISAPI modules?
- Right app path (directory)?
- Correct and valid SSL certificates?
- Services - running:
- all app pools?
- all IIS apps?
- SMTP/Mail
- Is the SMTP service running?
- Usually we recommend to use the Windows SMTP Service (localhost) to ensure availability (no emails are lost), Traceability (you can see SMTP Logs)
- Is the SMTP relay correct?
- Are HTML & JPG files delivered? On older IIS it meight require additional
mime-types in web.config, like .woff .woff2 .svg .eot .ttf .mp4
- Enable "Detailed Errors" (Error Pages> Edit Feature Settings)
Analyze logs of the Web Server
- Best Practice: Log all available Fields to the IIS Logfile.
- Are log-entries available?
- Are values as expected?
- correct Hostname?
- correct File path?
- correct HTTP code?
- Response time?
- Check for patterns of attackers or Bots
- Are there calls from attacker or Bots?
- Abnormal visitor growth / spam?
- What is called most frequently? What are the Response times?
IIS and Windows Tools
- Check Windows Event Log (Application & System)
- Deadlocks
- Restarts
- Timeouts
- IIS worker process
- Pending / long running requests?
- Response times
- Check with Fiddler whether response times are ok
- Is HTTP compression activated?
Database / SQL Server
- Which DB are affected? See server dashboard or activity monitor.
- Which commands/objects are affected? See Report > Object Execution Statistics.
- Are DB size(s) normal?
- DNN: usually arround 100 MB
- See report DB-Table Sizes
- Check for SQL errors
- in Logfile: C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log
- In SQL Server Log
- Check DB Indexes
- Are Indexes Missing? See SQL Server Performance Dashboard Reports.
- Are Indexes fragmented? Rebuild indexes regularly ...
- Long transactions running?
- Are all SQL Server services running?
- SQL Server browser
- SQL full-text filter daemon launcher?
- Are the user credentials correct? Fulltext & SQL must have the same!
- Compare DB: Differences between stable and unstable condition?
Known performance issues
See Known Website Performance Issues
Review Affected Servers (IIS, SQL, AD, proxy, ...)
- Analyze Windows Event Log (System, Application)
- Check Hardware/Resources
- HDD
- Enough free space?
- Read / write error?
- Were updates made on drivers?
- Were updates made on VMware / Hyper-V?
- Were configurations changed on OS or others?
- Was a Server restarted since then?
- Were (un)planned Windows updates?
- Have changes been made in AD?
- Group policy
- Service accounts
- Passwords?
- Windows registry changes made?
- Anti virus
- Active?
- Did updates run?
- Error messages?
- Windows firewall
- Is the Windows Firewall running?
- Are all necessary ports activated?
- Server Utilization (in the Resource Monitor) is below 50% of CPU, RAM, HDD, Network
Server network (firewall, router, modem)
- Wrong IP / IP translation (NAT)?
- Hardware issues?
- LogFiles indicating issues?
- Reboot pending/helpful?