April 24, 2009 at 10:33 pm EDT · Filed under apnscp Updates
An esprit update has been pushed to the servers, scheduled for release later this evening. This update is focuses on page load improvements within the control panel. Pages will load noticeably faster, especially the dashboard, once the new code is live on the servers.
- Added: auto-save session if expires; resume page/form action after logging in
- Added: subdomain_exists()- query if global/local/fallthrough subdomain is configured (Web)
- Fixed: disallow updating billing information if account has expired (Change Account Billing)
- Fixed: display_application()- postback severity compared to PB_ERROR (Page Container)
- Fixed: null response printed on ajax output (Ajax)
- Changed: Rewrite of session and authentication handlers composed of three separate authentication layers (App, SOAP, DAV). Latency improvements are as follow (throughput ratio, (rendering latency)) :
- Login: 1.6X (38%)
- Dashboard: 21X (95.4%)
- App Rendering: 16X (93.8%)
- DAV: 6X (83.3%)
- SOAP: 21X (95.3%)
- Changed: decrease garbage collector frequency from every page to 50%
- Changed: disable always_populate_raw_post_data PHP directive
- Changed: [add,remove,modify]_record()- add .25 second sleep after DNS modifications to provide ns time to catchup (DNS)
- Changed: delete()- improve permission algorithm (File)
- Changed: improved error handling verbosity (Error Reporter)
- Changed: add login error if account is disabled (Login)
- Changed: prefer static invoice over domain name database lookups (Billing)
- Changed: cache instantiated classes for SOAP clients (SOAP)
- Changed: lazy load PostgreSQL, Process, Graph, Compression classes (apnscpFunction)
- Changed: disambiguate subdomain interface, list primary domain first (Add Subdomain)
- Changed: clean-up code, remove backend wrapper methods (File Manager, Add Subdomain, Module Skeleton, Page Container, Auth, Web, Common, etc)
- Changed: clean-up schema, fix length primary keys (soap_keys, session_information)
- Changed: cache navigation links/dashboard data (Template Engine)
- Changed: use site id while validating SOAP key (Auth)
Permalink
April 10, 2009 at 9:19 pm EDT · Filed under apnscp Updates
A new esprit update has been scheduled for tonight. Notable changes include a domain/subdomain document root rewrite from O(n) to O(1) lookups. Subdomain filesystem lookups have improved by ~10%, while addon domain filesystem maps remain constant regardless of the number of domains on an account. Memory usage decreases by 2.5 MB per process in addition to ~2 KB per addon domain resulting in a total savings of ~350 MB – 500 MB per server. The new mapping system allows for document roots to be altered within Multiple Domain Manager without submitting the “Activate Changes” option on every change.
Secondly, subdomain fallthrough support has been added for addon domains. Select ‘*’ for the subdomain in “Add Subdomain” to add a fallthrough for the named domain. Fallthroughs are used if the named subdomain is not found. If a fallthrough subdomain is not set, then the global subdomain is used, if found, otherwise a 404 is returned.
Finally, vacation messages have been added for the primary user. Visit E-mail -> Vacation Messages to set.
Apache mapping changes require modification to account configurations. Changes are scheduled to be made at 1 AM EDT (-0400 GMT) tongiht. Addon domains may be temporarily unavailable for a 10 minute window during this time.
- Added: list_domains()- returns a list of domains and corresponding document roots (Web)
- Added: abort transfer feature for file uploads (File Manager)
- Added: vacation message support for the primary user (E-mail -> Vacation Message)
- Added: fallthrough subdomain support for addon domains
- Fixed: regression in vacation message controller generates failed postback if vacation not set (Vacation Message)
- Fixed: miscellaneous code clean-up (File Manager)
- Fixed: remove spurious resource closure (Curl Layer, DataStream)
- Fixed: application dropdown fails to load script (webDisk)
- Fixed: find_quota_files()- double-escaped metacharacters (User)
- Fixed: get_quota()- match grace column hh:mm format (User)
- Fixed: missing toolbox in empty directories (File Manager)
- Fixed: regression on display body if warnings exist (Urchin)
- Fixed: negative z-index on header/menu renders behind body in Firefox 2 (Page Template)
- Fixed: add_user()- invalid method signature (User)
- Fixed: parse_ini_file()- skip conversion if empty string (Common)
- Fixed: “cannot access directory” message on empty directory (File Manager)
- Fixed: postback calls filter if filter string is empty (Manage Users)
- Changed: update chart to pChart (Bandwidth Breakdown)
- Changed: refactor afi, reduce set_user_parameters() calls, cache argument reflection results (~ (Module Skeleton, apnscpFunctionInterceptor)
- Changed: upgrade jQuery 1.3.2
- Changed: upgrade SimpleModal 1.2.3
- Changed: clean-up afi call routines (apnscpFunctionInterceptor)
- Changed: clean-up login process, use error()/warn() wrappers (Login)
- Changed: enhance login security by implementing random usleep() on invalid login (apnscp Session)
- Changed: turn-off APC stat checks
- Changed: introduce new domain mapping approach with O(1) lookups on addon domains, ~8% speed-up on subdomain lookups, and variable speed-up on primary domain fallthrough – O(n) -> O(1)
- Removed: blockUI replaced by SimpleModal (WebDAV, Add Subdomain, File Manager, Add User)
Permalink
April 2, 2009 at 3:07 pm EDT · Filed under Miscellaneous, Service Upgrades
Server infrastructure is periodically updated to provide clients with the latest software and provide us an opportunity to implement hardware/architecture changes. The Fourth Generation was introduced March 2007, which is beyond the target lifecycle of 24 months. I would love to hear your input on what you want on the new server family. Initial filesystem structure will be based from a mix of RHEL 5.3 and Fedora Core 10 packages with software upgrades as deemed necessary. Beneath the OS there are a few other hardware and architectural changes to improve performance and propel the phenomenal reliability to new levels.
My observations and notes only represent a small slice of deficiencies. I want your help in identifying current short-comings to be addressed in the Fifth Generation. The most successful, forward-thinking businesses are those that are driven by its clients. The Fifth Generation aims to be the most ambitious iteration yet, so let’s set the bar high and give me a challenge. Here are some brainstorming questions:
- What software versions would you like to see? Ruby 1.9 and Python 2.6 are planned.
- Any layout changes, e.g. webmail locations, behaviors, subdomains, addon domains, etc? Bear in mind these changes are more difficult to execute and possibly more disruptive.
- If you could change one thing about apis, what would it be?
- Ways to improve user experience? How can we facilitate daily operations for you? For example, is SpamAssassin inaccurate with tagging spam? How would you like spam management change on the new family?
Questions are very open-ended, because any form of feedback is invaluable at this stage. Brainstorming is a stage when tangents run amok and somewhere from that chaos [deceptively] good ideas emerge. Software version requests are posted within the wiki. Head on over to the forums and let’s hear not only what you need, but more importantly, what you want. The Fifth Generation build is set to begin in May.
Discussion link
List of planned changes
Send me your ideas!
Permalink