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...

  1. ...all the parts that can cause issues
  2. ...how to discern which area the issue is actually caused by
  3. ...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

  1. 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)
  2. Inter-Net, the network in between (cabling and routing , the DNS in the cloud, root servers, ISPs on the client and server side)
  3. Host network (firewall, NAT, internal routing - also with special rules and URL filters, internal DNS etc.)
  4. 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)
  5. Database server (SQL server, Windows & .net below, security settings on server or on DB, missing indexes, etc.)
  6. Server-to-server network, mostly the connection from web to DB (network, IP allocation, routing, etc.)
  7. Application such as DNN (...)
  8. Modules in DNN (... )
  9. Content - either because it catches up with something else or completely destroys the display
  10. Mashup-elements such as built-in Google Maps, Analytics, etc. 3rd party plugins
 
 

Preliminary Checks

  1. What happens?
  2. Which message appears? How does the system behave during the malfunction?
  3. How would that behave normally?
  4. On which action?
  5. Since when?
  6. What were the last changes? (today/yesterday)
  7. Did it ever work?
  8. How many people are affected?
  9. Productive? How critical?
  10. Has the problem been dealt with / dealt with / solved before?
  11. Does it happen more often?
  12. Has anything been added to the Project Notes/Documentation (e.g. 2sic dashboard)?

 

Useful Tools to analyze Website-Issues

Identify Client Issues

  1. Connected to the internet?
  2. other clients & browsers affected?
    1. test from remote / external / other location
  3. Client PC
    1. test without SSL / HTTPS / HTTP2 (is it faster?)
    2. Automatic search for proxy server?
    3. Are cookies accepted? Maybe does the site run an iFrame and Cookies are blocked via SameSite or P3P (obsolete)?
  4. Client network
    1. own DNS server?
    2. HOSTS file changed?
  5. Display problem?
    1. Got HTML code?
    2. Old browser?
    3. Old / slow computer?
  6. Test with Fiddler whether redirects happen
  7. Are there any JavaScript errors?

Internet / network

  1. Are DNS settings correct?
  2. Where is the server located? In-house? External hosting provider?
  3. Is a firewall (F5, ISA / Forefront), load balancer, proxy server, NAT, etc. involved?
  4. 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

  1. File changes today / last 7 days
    1. Fake / spam / hack files?
    2. Changes to web.config?
    3. Multiple (unknown?) Web.config files?
    4. Compare files with stable version
  2. Does it work for other users / logins?
  3. Which file formats are affected? aspx, html, jpg, pdf?
  4. Are URL Rewritings / Redirects / Proxying set up?
  5. Does it have 3rd party HTTP modules / handlers?
  6. Special assemblies / DLLs set up?
  7. Testing from the localhost
    1. Do you see a more detailed message?
    2. Mabe make a temporary entry in the host file for testing
  8. 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

  1. Bad skin?
  2. SQL DB
    1. > 100 MB?
    2. Transaction log > 1-50 MB?
  3. Modules
    1. New modules in use? Maybe only on sub-pages?
  4. Check DNN Logs
    1. EventLog
    2. Log4Net (/Portals/_default/Logs/)
  5. Module / page cache (not) activated?
  6. Check scheduler & history
    1. Many entries
    2. Are purge tasks running correctly?
    3. Search indexing?
  7. Portal settings
    1. Are portal aliases correct? 

IIS Web Server

Config

  1. Check bindings & IP
  2. Are App Pool - configured correctly?
    1. 32 / 64bit?
    2. User?
    3. .NET version? Version conflict with other applications?
  3. Special ISAPI modules?
  4. Right app path (directory)?
  5. Correct and valid SSL certificates?
  6. Services - running:
    1. all app pools?
    2. all IIS apps?
  7. SMTP/Mail
    1. Is the SMTP service running?
    2. Usually we recommend to use the Windows SMTP Service (localhost) to ensure availability (no emails are lost), Traceability (you can see SMTP Logs)
  8. Is the SMTP relay correct?
  9. Are HTML & JPG files delivered? On older IIS it meight require additional
    mime-types in web.config
    , like .woff .woff2 .svg .eot .ttf .mp4
  10. Enable "Detailed Errors" (Error Pages> Edit Feature Settings)

Analyze logs of the Web Server

  1. Best Practice: Log all available Fields to the IIS Logfile.
  2. Are log-entries available?
  3. Are values as expected?
    1. correct Hostname?
    2. correct File path?
    3. correct HTTP code?
    4. Response time?
  4. Check for patterns of attackers or Bots 
    1. Are there calls from attacker or Bots?
    2. Abnormal visitor growth / spam?
  5. What is called most frequently? What are the Response times?

IIS and Windows Tools

  1. Check Windows Event Log (Application & System)
    1. Deadlocks
    2. Restarts
    3. Timeouts
  2. IIS worker process
    1. Pending / long running requests?
  3. Response times
    1. Check with Fiddler whether response times are ok
    2. Is HTTP compression activated? 

Database / SQL Server

  1. Which DB are affected? See server dashboard or activity monitor.
  2. Which commands/objects are affected? See Report >  Object Execution Statistics.
  3. Are DB size(s) normal?
    1. DNN: usually arround 100 MB
    2. See report DB-Table Sizes
  4. Check for SQL errors
    1. in Logfile: C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log
    2. In SQL Server Log
  5. Check DB Indexes
    1. Are Indexes Missing? See SQL Server Performance Dashboard Reports.
    2. Are Indexes fragmented? Rebuild indexes regularly ...
  6. Long transactions running?
  7. Are all SQL Server services running?
    1. SQL Server browser
    2. SQL full-text filter daemon launcher?
    3. Are the user credentials correct? Fulltext & SQL must have the same!
  8. Compare DB: Differences between stable and unstable condition?

Known performance issues

See ​Known Website Performance Issues

Review Affected Servers (IIS, SQL, AD, proxy, ...)

  1. Analyze Windows Event Log (System, Application)
  2. Check Hardware/Resources
    1. HDD
      1. Enough free space?
      2. Read / write error?
    2. Were updates made on drivers?
    3. Were updates made on VMware / Hyper-V?
  3. Were configurations changed on OS or others?
    1. Was a Server restarted since then?
    2. Were (un)planned Windows updates?
    3. Have changes been made in AD?
      1. Group policy
      2. Service accounts
      3. Passwords?
    4. Windows registry changes made?
  4. Anti virus
    1. Active?
    2. Did updates run?
    3. Error messages?
  5. Windows firewall
    1. Is the Windows Firewall running?
    2. Are all necessary ports activated?
  6. Server Utilization (in the Resource Monitor) is below 50% of CPU, RAM, HDD, Network

Server network (firewall, router, modem)

  1. Wrong IP / IP translation (NAT)?
  2. Hardware issues?
  3. LogFiles indicating issues?
  4. Reboot pending/helpful?