CMS System Requirements
From NewHaven Software Wiki
Russ horton (Talk | contribs) (→Servers) |
Russ horton (Talk | contribs) (→Servers) |
||
Line 16: | Line 16: | ||
* SVGA Monitor | * SVGA Monitor | ||
- | '''Database Server Additional Recommendations''' | + | '''Database Server - Additional Recommendations''' |
Server enhancements to consider as your server demands increase (higher volume, more workstation connections, larger/multiple databases) | Server enhancements to consider as your server demands increase (higher volume, more workstation connections, larger/multiple databases) | ||
#The best things you can do to improve the performance and capability of your CMS server is to maximize your RAM, purchase fast hard drives, and ensure adequate available disk space. The speed and number of processors has less to do with CMS performance than does I/O (disk read/write speed) and being able to cache some or all of the database into RAM. This should be your first goal when purchasing a new server or optimizing and existing server. Read more about [http://wiki.newhavensoftware.com/index.php/CMS_System_Requirements#What_is_.22database_caching.22.3F database caching] options below to make the most of your available RAM. | #The best things you can do to improve the performance and capability of your CMS server is to maximize your RAM, purchase fast hard drives, and ensure adequate available disk space. The speed and number of processors has less to do with CMS performance than does I/O (disk read/write speed) and being able to cache some or all of the database into RAM. This should be your first goal when purchasing a new server or optimizing and existing server. Read more about [http://wiki.newhavensoftware.com/index.php/CMS_System_Requirements#What_is_.22database_caching.22.3F database caching] options below to make the most of your available RAM. |
Revision as of 22:25, 4 June 2014
CMS system requirements are fairly meager considering the capabilities of today's machines. As such, most anything you buy or already own may be more than adequate. You do, however, want to make sure you're meeting the following system requirements.
64-bit vs 32-bit
This option affects both your hardware and software. Some Windows operating systems are available in either a 32-bit or 64-bit version. Either will work with CMS and CMS's database server software - SQL Anywhere. The 64-bit version does not offer any benefits to CMS over its 32-bit counterpart. Sybase, on the other hand, would stand to benefit to some degree from a 64-bit OS, at least in its support of additional RAM. If you're looking at running Windows Vista or 2003 Server we'd recommend sticking with the 32-bit editions. If you're considering Windows 7, 8.1, or 2008 Server you may opt for either the 32 or 64-bit editions. Note that Windows Server 2008 R2 is only available in 64-bit.
Hardware
Servers
This section applies to machines that are operating as pure servers or for stand-alone installations which are acting as both a server and workstation.
Minimum Requirements
For small volume companies with one or few workstations
- Pentium 4 - 1.8 GHz or faster CPU
- 1 Gigabyte RAM
- 128 GB Hard Drive with at least 2x your CMS database size in available disk space
- CD-ROM or CD-R/RW Drive
- SVGA Monitor
Database Server - Additional Recommendations
Server enhancements to consider as your server demands increase (higher volume, more workstation connections, larger/multiple databases)
- The best things you can do to improve the performance and capability of your CMS server is to maximize your RAM, purchase fast hard drives, and ensure adequate available disk space. The speed and number of processors has less to do with CMS performance than does I/O (disk read/write speed) and being able to cache some or all of the database into RAM. This should be your first goal when purchasing a new server or optimizing and existing server. Read more about database caching options below to make the most of your available RAM.
- Solid State Drives (SSD) can be an attractive option/addition to your server. They are essentially RAM and are extremely fast.
- Isolate your CMS database onto its own drive so it is not sharing a drive with your operating system or other server files.
- Isolate CMS onto its own server so is not also being used for Exchange, file shares, etc. to achieve optimal performance (also recommended for PCI compliance)
- Disable Windows Themes (typically is by default on server OS's)
- Check your Power Options (Control Panel>Hardware>Power Options) and select High Performance (not necessary to do this and running in Balanced mode may be fine but consider this if experiencing performance issues)
- The CMS database server (Sybase) can make use of dual processors but, as a rule, processing speed does not play a huge role in performance. Consider this nice to have but not a necessity and lower in priority than the RAM and fast drive recommendations above.
- Fast network cards - Especially useful if you run a lot of reports from your workstations.
- RAID 6 or other drive array. Priority of redundancy over striping if going with a different RAID configuration. Your server is at the heart of your company's operation and you need to make sure you can keep it going. Redundancy will help you sleep at night.
- Backups - While not a performance issue, this is an important consideration for a new server. You'll want to have an automated system in place to move the nightly CMS backup (must be turned on and configured) to other storage locations. Ideally you'd have a rolling backup routine that allows you to store backups for each night without overwriting the previous backups and then move the last backup of the week off-site (DVD, tape or online backup location). This way even if your place of business was in a natural disaster or your server was stolen, you would reasonably be able to recover. We unfortunately had a customer of ours go out of business because they were unable to recover when their server was lost in a fire. Protect yourself from the same fate.
Configuration
When running directly on a Windows server (2003 and up), CMS will not be able to make web service calls until the following configuration change is made. This can impact some CMS integrations so the following setting should be made on your server:
- Server 2003: Go into Control Panel->System->Advanced->Performance->Settings
- Server 2008: Go into Control Panel->System & Security->System->advanced System Settings->Performance->Settings
- Choose the Data Execution Prevention tab.
The default setting is Turn on DEP for all programs and services except those I select, and there is no reason to change it for CMS. However, you need to add CMS to the exception list, which will then allow CMS to communicate with web services.
- Themes - CMS 8.0 and later requires Windows Themes be enabled if you are running CMS on your server (including Terminal Services).
CMS workstations
Workstations are those machines that are running CMS from a server on your network. If you are running CMS on only one machine or that machine is your server, please see the Server requirements above.
Minimum Requirements
- Pentium III 500 MHz or faster
- 1 GB RAM
- CD-ROM Drive
- 20GB Hard Drive with 2GB available
- SVGA Monitor
- 10Mbps Network Card(s) or faster
CMS Workstation Recommendations
Very little processing, disk space or hardware is required to run CMS on a workstation. Most everything takes place on the server or in memory so your workstation requirements are reasonably small. Our only recommendation, beyond the above minimums, is to upgrade your RAM to 4 Gig.
Peripherals
CMS will work with most any peripheral (e.g. printers) as long as the manufacture still supports it and offers drivers for your operating system. If the manufacture does not support your device and offer drivers for your operating system, NewHaven Software cannot assist you with it. It may work with CMS but, if not, you must upgrade your device to a currently supported model.
While this may seem like we're just washing our hands of supporting older hardware, there is really more to it. CMS, like most other Windows applications, relies on Windows to operate as an intermediary with its peripherals. CMS communicates to Windows and then Windows handles the communication with the peripheral. If Windows does not have a current driver, that communication may fail or operate in unexpected ways. In other words, any problems with the peripheral are outside of our software and control.
POS Module
The only place where CMS has more specific hardware requirements are the peripherals used with its POS Module. The Point of Sale Module only supports specific models of printers, cash drawers, credit card swipes and UPC bar code scanners.
- Printers - Most any Windows compatible printer should work but the following are the 80 column thermal printers we have tested and can support:
- Star TSP143II
- Samsung SRP-350
- Barcode Scanners - CMS requires USB serial emulation mode. Contact Support for a programming guide suitable for your model of scanner. If you are not purchasing these models through NewHaven Software, be sure that you are supplied with a proper cable to allow USB serial emulation.
- Honeywell (HandHeld) 3800G
- Honeywell 1300G (replaced the 3800G)
- Honeywell (Metrologic) Fusion MS3780
- Honeywell (Metrologic) Voyager MS9540 (with MX009 USB cable only)
- Honeywell Voyager MS9520
CMS 10.0 added support for USB HID POS interface which works in lieu of USB serial emulation. Not all scanners support USB HID POS but, for those that do, configuration should be easier and you may have more scanner models to choose from. The following models support USB HID POS and should work with CMS but have not yet been tested:
- MS5145 Eclipse
- MS9590 VoyagerGS
- MS9591 VoyagerGS HD
- MS9520 Voyager
- MS9521 VoyagerHD
- MS9524 VoyagerPDF
- MS9540 VoyagerCG
- MS9541 VoyagerHD
- MS9544 VoyagerPDF
- MS3780 Fusion
- MS9535 VoyagerBT
- MS1633 FocusBT
- MS1690 Focus
- MS1691 FocusHD
- MS9590i VoyagerGS
- MS1890 Focus
- MS7120 Orbit
- MS7180 OrbitCG
- MS3580 QuantumT
While these scanners do have to be programmed to work in the USB HID POS mode (aka USB HID serial mode, not USB HID SurePOS) there should be no driver installation necessary as there is with USB serial emulation. You'll just need to find the proper bar code to scan in the scanner's programming guide for USB HID. You can purchase a scanner and ship it to us if you'd like us to add it to our supported scanner list. We can then provide documentation on proper setup and help with troubleshooting any future issues.
- Cash Drawer
- APG 320 MultiPro
- MMC 225151644204
- Credit card swipe/reader - Magtek model 21040102 (many look the same but are not, it must be this model)
- Pole Display - Logic Controls PD-3000 series
Other hardware may work with CMS but these are the only models we have tested and can support or offer configuration instructions for. The credit card reader, however, is unlikely to work unless you have the specific model we have recommended.
Shipping Manifest
Barcode scanners
CMS supports the USB/serial scanners listed above under POS Module and also can work with any keyboard wedge style scanner albeit with reduced capability. Read this article on Barcode Scanners for more information.
Scales
- CMS version 7 or earlier - CMS will work with most any scale that connects via a serial connection and can emulate a Mettler Toledo (models 8213 or PS60) or the UPS Fairbanks scale.
- CMS 8.0 or later - USB connections are supported for the Toledo models PS60 and PS90 (in addition to supporting serial connections for the scale models mentioned above.)
- CMS 9.0.5 or later - Any of the above plus the Adam brand scale - CPWplus models (serial connection)
Other scanners or scales may work with CMS but these are the ones we support and can assist you with configuration. Please contact us if you'd like us to evaluate other hardware (typically requires shipping a unit to us for testing.)
Operating Systems
The following are operating systems currently supported by Microsoft and NewHaven Software for use with CMS.
Servers
- Windows Server 2003 SP2 - Server 2003 is expected to continue to work with CMS for the foreseeable future but for new servers we recommend Server 2008 since Microsoft has announced Server 2003 is End of Life (EoL) on April 8th, 2014 (also true for Windows XP)
- Server 2003 Editions supported - Standard, Small Business Server, Enterprise
- Windows Server 2008
- Server 2008 R2 Editions supported - Standard, Small Business Server, Enterprise
Windows Server 2012 is currently in testing and in use by NewHaven Software as well. Official support for Server 2012 is expected early 2014.
Workstations or CMS Solo (i.e. single-user)
- Vista Business Edition SP2
- Vista Ultimate SP2
- 7 Professional
- 7 Ultimate
Windows 8.1 (not RT)
NOTE: Microsoft ended support for Windows XP Professional on April 8, 2014.
Remote Connections
There are many options available to you when wanting to run CMS remotely. The core issue that must be observed is that CMS must be running on a machine that is connected locally to its database server. As long as that is true, you'll have no troubles running CMS remotely. You cannot, however, have CMS running locally on your workstation and connect to a remote server. The following are some remote access solutions and tips.
Remote Access Software
Software like TeamViewer, LogMeIn, and GoToMyPC are inexpensive remote access tools that allow you to connect to your PC via their website, thus from any other PC. Performance is a little slower than other solutions but is low cost, flexible and easy to use.
Remote Desktop and Terminal Server
- Our preferred method is to use Windows' built-in remote access options. Remote Desktop (RDP) allows you to connect to your work machine with CMS on it and control it remotely. To do this you must first establish a virtual private network (VPN) connection.
- Terminal Services is also an option that will allow you to VPN into your server and create/run a remote session right on the server and without the need for a dedicated workstation. This is also a popular option but does require purchasing Windows client access licenses (CALs). Note: Running CMS 8.0 or later on terminal services will require that you enable Windows themes. Also note that when running CMS in terminal services, all users share the same 'Workstation Specific' settings (In CMS see Setup>General>Workstation Specific to review these settings and assess if this trade-off is acceptable.)
- We've written a separate article on configuration recommendations for RDP - http://wiki.newhavensoftware.com/index.php/CMS_over_Microsoft_Remote_Desktop
Cloud Computing
Licensing
Only one database server can be running concurrently. Connections to that database server must come from the same domain. As stated above, CMS must be run on network local to the database server (i.e. you can remote into a vm, machine, or terminal server hosting CMS). You cannot run CMS locally and connect to a remote server.
Peripherals
While cloud deployment does not present any inherent challenges to CMS, there can be complications with getting a remote instance of CMS to properly interact with local hardware. While printers are commonly used and not typically a problem, communication with serial or USB devices (e.g. bar code scanners, scales, card swipes, pole displays) can be more challenging. Testing of existing/needed peripherals must be done before launching into production to ensure all users can continue to operate efficiently. We recommend you read our separate article on running CMS via RDP, including peripheral sharing, for some guidance that may be helpful - http://wiki.newhavensoftware.com/index.php/CMS_over_Microsoft_Remote_Desktop
PCI Compliance
There are PCI implications when moving your CMS database (which stores credit card data) to the cloud. It will add risk and corresponding cost/effort to mitigate that risk in order to remain PCI compliant. Here is a document from the PCI Council for guidance - https://www.pcisecuritystandards.org/pdfs/PCI_DSS_v2_Cloud_Guidelines.pdf
Another helpful article from TechTarget detailing some of the cloud deployment challenges stemming from the recent PCI-DSS 3.0 spec - http://searchcloudsecurity.techtarget.com/tip/PCI-DSS-30-Three-key-requirements-to-maintain-cloud-compliance
Virtual Machines
NewHaven Software will support CMS running on a virtual machine as long as the operating system (OS) running in the virtual machine is also supported. However, if NHS is unable to reproduce an issue, the customer may be asked to reproduce the problem running natively on the supported OS, outside the virtual environment. NHS does not explicitly test or certify products running in a virtual environment.
In other words, NHS can support CMS running in virtual environments but not the environments themselves. We strongly recommend that if you decide to pursue running virtual machines that you have someone with related expertise to assist with the setup and administration of these, much the same as you would network administration.
Recommendations
CMS can run on a virtual machine/server as long as it is provided enough resources (e.g. disk space, memory, processor). We in fact run CMS here at NewHaven Software on a virtual server and have had great success with it. We have been using VMware ESXi v4.0 and have also had successful tests with Xen Server 5.6 Feature Pack 1 although have yet to run CMS in production on Xen Server.
We also hope to look at VDI in the future. We do have some CMS customers running live on a virtual server presently as well.
As a rule, CMS and the database server will run with no particular technical issues although performance is not as good as running on a dedicated non-virtual server. Reinforcing what has been said above, lots or RAM and fast drives (read/write) are the biggest factors that impact CMS performance. Our recommendations for running CMS on a virtual server simply are to ensure that sufficient resources are allocated.
If you think virtualization is in your future, please contact us for assistance in setting up a test environment. Before deploying into production we of course strongly recommend testing. You'll want to validate that performance is acceptable and that all connectivity, including from peripherals, and all integrations are working and performing at acceptable levels.
3rd Party Software
Many 3rd party software solutions can be used in conjunction with CMS but it is important to note that we do not support these software solutions. Examples of 3rd party software include Crystal Software, Microsoft Access, Mapforce, etc. The NHS technical staff is not responsible for answering any questions about features/functionality or bugs within these software programs. Please view your Software License and Support Agreement for details.
We are, however, happy to provide assistance as a professional service. For more details, please contact your account manager.
FAQ's
Do I need a new machine to run CMS?
Probably not. The operating system is far more important than your hardware. If your operating system is no longer supported by Microsoft, you may be able to update it or reinstall a supported operating system on your current machine. Please consult Microsoft for their minimum requirements for the operating system your selecting. Generally if it meets Microsoft's requirements for their operating system, it will be good enough for CMS as well. From there, you need to decide if good enough is in fact really good enough and that will be clear in the performance of Windows, CMS or other applications. Often times poor performance is a factor of limited memory and, since memory is typically quite cheap, you should consider maximizing RAM before replacing a machine.
My operating system is currently supported, do I need a new machine?
Hardware is rarely an issue with CMS and you could be running old machines and still experience reasonable performance. If you're satisfied with the speed of CMS, you're able to run a supported operating system without errors, and you have adequate disk space, you may choose to continue to run on your existing machine(s).
If you were to do only one thing, it should be to max the amount of RAM your machine will take. RAM is cheap, too cheap to not have plenty of it.
Secondarily, a CMS server needs a lot of disk space not just for its database but also requires additional free gigabytes of space for temp files that the database server creates and destroys through normal usage to optimize performance. You should never have less than 2x your database size in free drive space on your server (and this only considers CMS's needs, not Windows or other processes). Here too, drive space is too cheap for this to be a limiting factor.
There may be other compelling reasons to upgrade your machines, be it for speed, other applications or compatibility with other new technologies. New machines that are capable of running 64-bit operating systems, for example, are capable of handling more than 4 Gigabytes of RAM. While this would rarely be a CMS consideration for a workstation, if you have a database (.db file) that is larger than 2 Gig, you should seriously consider a server with more than 4G of RAM.
As a rule, the performance you need from CMS is merely a factor of hardware. As your company grows, CMS can scale perfectly well with you but may require improved hardware to keep up with the increased server load. Evaluating CPU/memory usage and free disk space during the heat of the day will give you an indication of how well your server is handling the load and if more resources are needed.
Why can't I continue to use an older operating system?
Even if has worked fine with CMS for years, if Microsoft no longer supports it, you really don't want to be using it. Once they stop offering security patches, as they just have stopped doing for Windows 2000, you become vulnerable to new threats (viruses, hacks, etc.) and you may find that CMS will no longer work. Such is the case with Windows 2000 as it does not contain the components need for CMS to run properly. This link provides more information on this subject.
PCI requirements also dictate that your systems must be kept up to date with current security patches.
What is "database caching"?
One of the great features of your CMS database is that it requires little to no maintenance. There is no re-indexing, server administration, etc. It largely just takes care of itself.
One thing you can do, however, to maximize your database performance is to use a setting for database caching. This option requires more RAM but RAM is cheap and the performance gains are worthwhile. With this option, you can force Windows to allocate a specific amount of RAM to your database to allows some or all of your database to be loaded into memory and thus can have significant affects on your server performance.
Limitations (applicable to v8 thru v12) are as follows:
- Maximum cache size for (Win32) Windows Server 2003 Web Edition, Windows Server 2003 Standard Edition, Windows 2008, Windows 7, Windows 8.1 - 1.8 Gb
- Maximum cache size for (Win32) Windows Server 2003 Enterprise Edition, Windows Server 2003 Datacenter Edition, Windows Vista Ultimate, Windows Vista Enterprise, Windows Vista Business, Windows Vista Home Premium, Windows Vista Home Basic - 2.7 Gb
- Maximum cache size (Win 64) limited by physical memory on 64-bit engines - NOTE: Our experience to date has shown that caching beyond 1.8G is not possible even with 64bit operating systems.
To update your cache size, you'll want to modify the registry key for the service (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ASANYs_NHSDataService\Parameters) like this:
-n NHSDataServer "C:\NewHaven Software\Data\Company\Company.db" -c 1800M -ti 0 -tl 0
The above is a cache of 1800 Meg (1.8 Gig.) K, M and G are recognizable increments and they must be in caps. It does not accept decimals however so if you want 1.5G you should do 1500M as shown in the above example. You can experiment with other or higher values but if the service doesn't start you may need to back your number down or revert to an earlier setting.
If you're interested in this option and have enough RAM, please contact NewHaven Technical Support for information on how to enable this option.
What about my network?
Our recommendations here are pretty generic. If you're still on the old 10mbps cards you should consider upgrading. 1Gbps is pretty standard these days. CMS doesn't need a lot of bandwidth but could benefit from 100mbps over 10mbps...depending on what other network traffic you might expect. If you have hubs or old switches, that would be a good place to look at upgrading.
Will CMS work with wireless?
Yes, although CMS must maintain a constant connection with its database and even momentary interruptions in that connection can be enough to cause errors. As such, we do not recommend running CMS over a wireless network connection. You can, however, use Remote Desktop via wireless to connect to a machine that is on your physical network and, in that scenario, you would not be subject to disconnect issues.
Can I run CMS remotely?
Yes, but it must be done using RDP (remote desktop), terminal services or remote access software like Logmein. CMS must be running on the same network/domain as its database server. You'll need to remote into Windows first and then run CMS from that machine. You cannot have CMS installed locally and connect to a remote network/server. See the section on remote connections above.
Can NewHaven Software assist with purchasing or configuring my hardware/network?
We can make recommendations, like we have in this article, but the actual purchase, configuration and maintenance of your hardware and network must be performed by someone at your location. This would either be done by someone on staff that is capable or a local contractor that can provide these services and expertise to you. We're happy to consult with your staff or contractors on any CMS related configurations.