Welcome to www.pricelesswarehome.org
Web Hosting - Bandwidth and Server Load, What's That?
Two key performance metrics will impact every web site owner sooner or later: bandwidth and server load.
Bandwidth is the amount of network capacity available, and the term actually covers two different aspects. 'Bandwidth' can mean the measure of network capacity for web traffic back and forth at a given time. Or, it sometimes is used to mean the amount that is allowed for some interval, such as one month. Both are important.
As files are transferred, emails sent and received, and web pages accessed, network bandwidth is being used. If you want to send water through a pipe, you have to have a pipe. Those pipes can vary in size and the amount of water going through them at any time can also vary.
Total monthly bandwidth is a cap that hosting companies place on sites in order to share fairly a limited resource. Companies monitor sites in order to keep one site from accidentally or deliberately consuming all the network capacity. Similar considerations apply to instantaneous bandwidth, though companies usually have such large network 'pipes' that it's much less common for heavy use by one user to be a problem.
Server load is a more generic concept.
It often refers, in more technical discussions, solely to CPU utilization. The CPU (central processing unit) is the component in a computer that processes instructions from programs, ordering memory to be used a certain way, moving files from one place to the next and more.
Every function you perform consumes some CPU and its role is so central (hence the name) that it has come to be used as a synonym for the computer itself. People point to their case and say 'That is the CPU'. But, the computer actually has memory, disk drive(s) and several other features required in order to do its job.
Server load refers, in more general circumstances, to the amount of use of each of those other components in total.
Disk drives can be busy fetching files which they do in pieces, which are then assembled in memory and presented on the monitor, all controlled by instructions managed by the CPU.
Memory capacity is limited. It's often the case that not all programs can use as much as they need at the same time. Special operating system routines control who gets how much, when and for how long, sharing the total 'pool' among competing processes.
So, how 'loaded' the server is at any given time or over time is a matter of how heavily used any one, or all, of these components are.
Why should you care?
Because every web site owner will want to understand why a server becomes slow or unresponsive, and be able to optimize their use of it.
When you share a server with other sites, which is extremely common, the traffic other sites receive creates load on the server that can affect your site. There's a limited amount you can do to influence that situation. But if you're aware of it, you can request the company move you to a less heavily loaded server. Or, if the other site (which you generally have no visibility to) is misbehaving, it's possible to get them moved or banned.
But when you have a dedicated server, you have much more control over load issues. You can optimize your own site's HTML pages and programs, tune a database and carry out other activities that maximize throughput. Your users will see that as quicker page accesses and a more enjoyable user experience.
Web Hosting - Unix vs Windows-Based Hosting, Which Is Better? An operating system functions largely out of sight, or at least is supposed to. It doesn't matter to non-geeks how a file gets stored, or how memory is used, or how simultaneous processes share the limited resources available on a computer. These are among the basic functions of any operating system. Yet, you can find very passionate supporters - who offer very detailed lists of pros and cons - for every operating system. Why? Because, though the low-level functions of an operating system do their work out of sight, there are many other features that rise to visibility. Sometimes, they do so when they're not supposed to. Weighing the pros and cons objectively could consume a book. But to select a web host operating system, a manageable level of considerations apply. They can be weighed even by those who don't know a processor queue from a pool cue. Learning Curves For most web site owners, administering the site/server is just overhead. It's not something they take pleasure in doing and they have plenty of other things to worry about. Many wouldn't know how and have no interest in learning (rightly so, given their priorities). Consequently, ease of administration is paramount for such people. Whether a Unix-based site (usually Linux these days) is easier to administer than Windows depends on your current skill set and the type of tools and level of access the web hosting company provides. But in general Linux is more difficult to install and maintain than Windows and the learning curve is steeper. FTP and Control Panels Often, you don't have to care. For many, the operating system is fairly transparent. FTP file transfers to get a new web page up to a Windows server are very much like they are to a Linux-based site. The user/administrator simply doesn't see what's behind the curtain. Many companies provide other utilities that completely mask any awareness of the operating system underneath. When that's the case, the web site owner has no reason to care, until or unless they need or want to go 'inside the black box'. Performance Performance issues can be relevant in selecting which operating system host type to choose. But for the most part, that aspect is outside the web site owner's control. Overall performance can be good or bad on either system, depending on many factors that the publisher will rarely see. The issue is a wash, as far as tipping the scales is concerned. What is more likely to be seen by a web site owner, at some point in their (and their site's) development is the database product that can be used to store information. Databases Microsoft SQL Server is relatively simple to use, yet extremely powerful and can deliver great performance. But it doesn't run on Linux. At least, not without special software to emulate Windows, which usually kills performance. On the other hand, with a bit of time invested, MySQL isn't significantly more difficult to learn than MS SQL Server and there are many free installations. Cost may well outweigh other considerations for most on this issue. Programming Languages Last, but not least, there are differences in programming languages that can be (or at least typically are) used on Windows vs Unix. If you have programmers who are skilled in Visual Basic, ASP and other Microsoft technologies, then a Windows-based host will be your preferred choice. For Perl and PHP programmers, Linux is the more common platform of choice. No single factor can push you to one versus the other operating system. And, in the long run, it isn't the primary consideration, unless you just enjoy playing with operating systems.
Web Hosting - DNS, How The Internet Keeps Track of Names The way computers communicate is, in a way, very similar to something very familiar: the postal system that delivers letters and packages. Here's how... The Internet is just what the name suggests, a large inter-connected set of networks. But those networks are pointless without the one part that forms what is called their 'end-nodes', otherwise known as computers. Those computers often need to share information because the people who use them want to share information. But, in a system where there are millions of separate computers, how can you enable them all to communicate? One very important feature of that solution is performed by something called DNS, the Domain Name System. Every part of a network that is going to send or receive information is assigned an IP address. That's a numeric identifier that uniquely specifies a particular 'node', such as a computer, a router that directs traffic or other component. They look like this: 184.108.40.206 But those numbers are more difficult for people to remember and work with. They also aren't very attractive from a marketing perspective. So, a naming system was layered on top of some of them, mostly the computers involved, though routers have names, too. But once you have a system that associates a unique IP address to a given name, you need some way of keeping track of all of them. That's carried out by several different pieces of the system: Name Registrars, DNS Servers and other components. The Name Registrars, overseen by IANA (Internet Assigned Numbers Authority) and other international bodies, provide and keep track of domain names. When you register with GoDaddy or any of a hundred other intermediate companies, ultimately that information makes its way into a number of specialized databases stored inside DNS Servers. A DNS Server is the hardware and/or software that tracks and forwards the IP Address/Domain Name pair from one place to the next. In many cases, there are a number of them between your browser and the remote computer you want to share information with. Suppose you request information from, say, Yahoo's site by clicking on a link on their site. DNS resolves (translates) the name of WHO IS making the request and OF WHOM, to addresses, then passes the request through the network to the requested IP address. The requested data is then passed back through the mesh of network components to your computer and displayed in your browser. Whether the communication is between a desktop computer and a server somewhere, or between one server and another, the process is essentially the same. DNS servers translate names into IP addresses and the requests for data are forwarded on. In some cases those DNS servers are part of a specialized network computer whose sole job is to do the translation and forwarding. In other cases the DNS software may reside on a server that also houses a database of general data, or stores email, or performs other functions. But however complicated the chain or the parts, the basic process is simple. Translate the name to an address, just as the postal system does. Whether international or local, your name is associated with an address, and the deliveries are made to the address, then forwarded to a particular name.
Software Copyright Laws Software Copyright Laws Fail to Provide Adequate Protection Software copyright laws are among the most difficult to enforce among the masses. Many companies and corporations are also well known for overlooking these laws, which were designed to protect the makes of software from not earning their worth. Perhaps one of the biggest hitches leading so many software businesses to go out of business is the fact that they have a great deal of difficulty actually enforcing the software copyright laws that are in place and getting the money that is owed them according to the agreements that have been made with those on the using end of the software. Software developers, particularly in the corporate world design software that makes other companies run more efficiently. The software allows these companies to save millions of dollars each year. Software copyright laws protect the interests of the software developers that create these massive programs. These programs are often designed specifically for that one company and are very expensive. The agreement often consists of a certain number of users with the company purchasing more licenses or copies of the software during expansions or paying some sort of royalties for the use of the software. The purchasing companies agree to this and then more often than not fail to honor that agreement. The agreement is what allows this company to use that software, this agreement is what allows that permission. When companies aren't living up to their end of this agreement they are not only guilty of breaching that agreement but also of breaking software copyright laws. The trouble always lies in proving that they are not honoring the contract and the extent and duration of the breach. Some of the ways that companies will argue in defense of them not paying the royalties, additional fees, purchasing additional software, etc. is that they upgraded computers and reused the old software (they did actually purchase the rights to use the original software and by doing so feel that they have broken no software copyright laws) the problem lies in the fact that adding ten new computers and placing the software on those should mean that you remove it from or get rid of 10 old computers. This is rarely how it works. So now they've basically stolen ten copies of software that can be well worth hundreds of thousands of dollars. Multiply this by 10, 20, or 100 companies trying this or worse each year and the offending companies are costing software developers millions of dollars in profits. This is when software copyright laws are not as far reaching in their scope as they really need to be. Software copyright laws exist to protect the software companies from this type of abuse and misuse, however, the hands of the companies are almost unilaterally tied when it comes to proving that software copyright laws have been broken in court. There are always exceptions to every rule. In this case big business software developers that abuse the software copyright laws to the point of breaking make the exceptions rather than miserly consumers that do not wish to pay for the products they are consuming. The big boys are able to do this by offering licenses for their software and claiming that these laws do not apply to their situation because they are not actually selling the software only 'renting' out permission for people or companies to 'use' that software. The true irony is that these practices began as a response to the corporate irresponsibility mentioned above. It's amazing that the very software copyright laws that were created to protect these companies can't protect their consumers from the greed of the developing companies.