Transcript Slide 1

What’s New in CF 8 Admin
MDCFUG 8/14/2007
Ajay Sathuluri
Sr. Web and Database Engineer
TeraTech Inc.
About Me
•
•
•
•
•
About Me
Certified ColdFusion MX Developer
Microsoft Certified Solution Developer
8+ years with ColdFusion
Also work with SQL, JavaScript, HTML,
Access, VB, Oracle
• On site and custom development
• Fusebox and Process Methodology
What this presentation will cover
• Walkthrough of the CF Administrator
– Most settings
– Datasources
– Debugging
– Server Monitor (all new!)
– Security, Sandbox security
New Settings: Settings page
• Per-Application Settings: globally enable/disable
– You can set mappings, custom tag paths for each application.
– Set in Application.cfc , not application.cfm
– Mappings:
• <cfset This.mappings[“/demo”] = “C:\inetpub\commondemo”>
– Custom tag paths: check this list first before that in the CF Administrator
• <cfset This.customtagpaths = “c:\mapped1,c:\inetpub\commondemo”>
• Disable CFC Type Check
– New; default is unchecked (typecheck not disabled), like previously
– Pass a CFC instance to a function as an argument, specify type (CF
path to that component)
– With CFC type check, CF tries to enforce that the passed-in object is an
instance of that CFC – first has to find the CFC file!
– Caused performance issues due to file accesses each time function is
called
– Use in production
• (Note about whitespace management setting: Whitespace reduction
is much better in CF8)
New Settings: Settings page (2)
• Disable access to internal ColdFusion Java components
– Eg: coldfusion.runtime.* – these classes give you access to the
whole server!
– However, even if you disable here, there may be Java system
classes you will still have access to
– (Demo)
• Watch configuration files for changes
–
–
–
–
CF uses XML files for configuration
Reloads XML if change on disk
Mainly for Websphere ND vertical cluster, which share files
Most people don’t need, if there will be only one set of files per
instance.
Settings: Request Tuning
• New page
• Limits on simultaneous requests (how many incoming requests of
each type can run at once)
• Limits the following, separately:
– Flash Remoting requests
– Web Service requests
– CFC function requests (direct HTTP requests to the
component’s method
• http://localhost/my.cfc?method=hello
• Not called as webservices; Used to return datasets as
WDDX, or output text (can be XML, HTML or JS, even) to
browser or AJAX client
• This does not affect invocation of CFC methods from within
CFML
• (short demo)
Settings: Request Tuning, 2
• Maximum simultaneous Report threads – not
new; moved here from Settings page
• (New CFThread) The maximum number of
threads created by CFTHREAD that will be run
concurrently.
– Threads created by CFTHREAD in excess of this are
queued.
Settings: Request Tuning, 3
• Timeout requests waiting in queue, after X
seconds of waiting
– Only the max number of simultaneous Template
requests can run at once; all others sit in the queue
– Running requests have their own timeout
– If another request sits in the queue for more than X
seconds, it will timeout, and run the specified HTML
template (specified in the Request Queue Timeout
Page), or else a generic “500 Request Timeout”
message. (This can be only HTML; will not be
processed by CF)
– This value should be at least as long as the Request
Timeout setting
Settings: Request Tuning, 3
• JRun Master Request limits
– For underlying J2EE engine for this instance
of ColdFusion
– Max number of running JRun threads
– Max number of Queued JRun threads
Settings: Mail
• New: if SMTP server requires
authentication, can set username and
password as default here. Otherwise,
requires username and password in
CFMAIL tag
• Also can allow CFMAIL to use SSL and
TLS to the mail server (authentication,
security)
– CFMail: new attributes useSSL, useTLS
Data & Services: Data Sources
• New datasource drivers:
– Apache Derby embedded database library, and datasources
• Derby support comes from JAR libraries; built-in to Java apps, including CF
• Embedded: create
– MySQL 4/5
– PostgreSQL
• Log Database Activity
–
–
–
–
–
For all Enterprise DB drivers
specify logfile and path
Enable ONLY for temporary debugging if necessary
Useful for debugging; gives a lot of detailed sql info
However: gives a LOT of detailed info, including sql password in plain
text. Heavy DB use will result in huge file.
• Validation Query
– Called when a connection from the pool is resued.
– Used to verify, but don’t keep it there
Data & Services: Verity K2
• If using external verity, can specify
Advanced Settings, including
username+password
Debugging and Logging: Debug Output
Settings
• Debug Output Page
– Renamed from “Debugging Settings” due to the new
Debugger, and new “Debugger Settings” page.
– New “Enable AJAX Debug Log Window” option, which
allows display of the AJAX debug log window when
the cfdebug flag is passed in the URL (also relies on
IP address settings to control who sees this)
– Renamed “Enable Debugging” option to “Enable
Request Debugging Output”, to distinguish from the
new Debugger and AJAX debugging
Debugging and Logging
• New Debugger plugin for Eclipse; allows for interactive
debugging
• New Debugger Settings Page
– Enable, Port, Max simultaneous sessions
• Scheduled Tasks Page
– New Action: Pause/Resume a scheduled task (actions: Run
Now, Pause/Resume, Edit, Delete)
– Enable/disable, instead of changing time setting
– Make sure you Resume task after pause, if you want it to keep
the next scheduled time
• Code Analyzer Page
– Added CF8 tags and functions
Security
• New - User Manager
• Add and manage users.
• Users can be granted access to CFAdmin
roles and sandboxes, and specific pages
of the CF Administrator
– (Demo)
Server Monitor
• Server Monitor lets you track activities on a
ColdFusion Server.
• You can identify information about the
–
–
–
–
–
Server,
Requests
Queries,
Memory Usage
Errors
• You can start and stop collecting server
information and take snapshots of the server.
Server Monitor 2 - Start Monitoring
• Information about all requests, including active
requests, slowest requests, active sessions,
cumulative server usage, highest hit counts,
template cache status, request throttle data,
requests that timed out, requests with errors,
and server alerts.
• The Server Monitor does not gather information
for requests that are excluded on the Filter
Settings page.
Server Monitor 3 - Start Profiling
• Tag and function timing information for the
Slowest Requests report; the CFML stack
trace for the Active Requests report;
information about active queries, slowest
queries, cached queries, and query cache
status; database pool status; and the most
frequently run queries.
• This information gathering lets you find
bottlenecks in your application.
Server Monitor 4 - Start Profiling
• You can view details about each request that is
slow or consumes a lot of memory
• You can determine which tags and functions
cause the request to run slowly and which
variables consume the most memory.
• You can use this information on both
development and production servers.
• To gather the profiling information, turn on
monitoring, profiling, and, if needed, memory
tracking.
Server Monitor 5 - Start Memory
Tracking
• Information about memory consumption,
including overall memory usage, the
queries and sessions that use the most
memory, the memory usage of all
application and server scopes, and
profiling information on the largest
variables on the Requests by Memory
Usage report, if profiling is enabled.
Server Monitor 6 - Start Memory
Tracking
• You must enable profiling to view queryrelated reports;
• You must enable profiling and memory
tracking to view the Queries by Memory
Usage report.
Server Monitor Overhead
• According to Adobe, starting Monitoring
and Profiling causes "minimal" overhead;
but Memory Tracking can be significant.
• Alerts don't seem to require any of these
to be started, unless you tell it to Dump
Snapshot.
Newer JVMs can be installed for use
with CF8
•
1.6 JVMs
– Fully supported in CF8
– Speed, many other improvements
– Not at all supported for CF7
•
1.5 JVMs
– Fully supported in CF8
– Breaks some features of CFMX and CF7 (CFLDAP, Axis, Verity), but may work
with the rest of CF7
– May provide significantly better performance!
– YMMV; Be careful! (take backup of config files before any changes)
•
1.4 JVMs
– Included with CF7.0 (original): 1.4.2_05
– Included with CF7.0.2: 1.4.2_09
– Latest supported version is 1.4.2_11
– Latest available version is 1.4.2_13
References
•
Livedocs
–
http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=Part_2_Config_A
dmin_1.html
–
Configuring and Administering ColdFusion
–
http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=Part_2_Config_Admin_1.
html#1028407
Application.cfc
http://livedocs.adobe.com/coldfusion/8/htmldocs/appFramework_07.html#1191449
Server Monitoring
http://www.adobe.com/devnet/coldfusion/articles/monitoring_pt1.html
http://www.coldfusionjedi.com/index.cfm/2007/7/25/Server-Monitor-Alerts-in-ColdFusion-8
http://carehart.org/blog/client/index.cfm/2007/6/15/cf8_hiddengem_monitoring_without_enabl
ing_monitoring
–
–
–
–
–
•
Quickdocs:
–
•
Derby
–
•
http://cfquickdocs.com/
http://db.apache.org/derby/#What+is+Apache+Derby%3F
Google search
–
“site:livedocs.adobe.com ColdFusion 8 keywords”
?