nexcess - peers reseller

Post on 16-Jul-2015

795 Views

Category:

Internet

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

2015

ExpressionEngine

Reseller Hosting

20152015

• Why are you considering becoming a reseller?

– More control?

– Easier to support your client?

– Extra profit?

• What we are going to cover

– Choosing a host.

• This is very important! We will discuss why in detail.

– Becoming a reseller is being the hosting provider for your client.

– EE installation

– Optimization

• Performance

• Security

Perks of Reseller Hosting

• Extra revenue.

• Its much easier to support a site under your control.

– Direct communication with the end host.

– You can be the host without having to be a system administrator.

• Client still maintains access to manage day to day operations if needed.

Choosing a partner

• Choosing your partner is one of the most important aspects of becoming a

reseller.

• The right partner can make your job as a reseller easier.

• Client may leave you as a reseller if the end host is sub-par.

– Excessive downtime.

– Slow speeds.

• Reliability

– Does the partner provide monitoring?

• What do they monitor?

– Is there redundant power and networking?

– SLA

• What do they guarantee?

• Time to replace hardware or restore service?

• Support

– What level of support do you receive as a reseller?

• What is covered and what is not covered?

– Response times.

• The level of support your receive will directly impact your clients!

• Picking a package.

– What are your needs?

• How much disk space do you need?

• How much bandwidth do you need?

• How many clients do you expect to resell to?

• Do you get dedicated IPs?

– May be needed to use an SSL.

– Helps with mail deliverability issues.

• Can you expand easily if needed?

• Is there a limit to the amount of neighboring clients in your environment?

– Too many clients could cause poor performance.

• Does the host provide a backup solution?

– What do they back up?

– How long are these kept?

Avoid unlimited packages

• Unlimited neighbors?

• Unlimited packages are simply impossible.

– Hardware limitations.

– Read the fine print!

• Reselling a dedicated solution or VPS.

– Do you need these type of resources?

– Choosing a managed or unmanaged solution.

• What does management include?

• Can you manage the environment yourself?

– Does it make sense for your to manage the environment?

» Time is money!

• Dedicated

– No neighboring clients to impact you (NOT OVERSOLD)

– More flexibility

• You may need software not available without a dedicated solution.

– Is the control panel included in the price?

• Do you or your clients need a control panel?

• Is it worth signing a term agreement or contract?

– You may be able to save money.

– Can you justify this type of commitment?

• Will any of your clients sell products online?

– Is this possible with the plan you have chosen?

– Can your environment achieve PCI compliance?

Read Reviews!

• Who is reviewing?

• Do they have…

– Bad support?

• Slow to respond.

• Unprofessional

• Uneducated, unable to help.

• Rude?

• Is the performance acceptable?

• Are they reliable?

– Frequent outages or hardware failures?

Hosting environment effects performance

All tests performed from a different data center than servers tested.

They were using the same siege settings for each test.

All used an EE install with the Agile Records theme.

Nothing was touched within EE after installation.

Tests were ran for 60 seconds using sitemap URLs.

Three tests were performed for 25, 50, and 100 concurrent users.

“Unlimited” Package at generic host

• Transactions: 472 hits• Availability: 87.73 %• Elapsed time: 59.69 secs• Data transferred: 5.61 MB• Response time: 2.43 secs• Transaction rate: 7.91 trans/sec• Throughput: 0.09 MB/sec• Concurrency: 19.24• Successful transactions: 472• Failed transactions: 66• Longest transaction: 5.05• Shortest transaction: 0.11

25 Concurrent Requests

“Unlimited” Package at generic host

• Transactions: 408 hits• Availability: 16.13 %• Elapsed time: 59.98 secs• Data transferred: 6.29 MB• Response time: 3.96 secs• Transaction rate: 6.80 trans/sec• Throughput: 0.10 MB/sec• Concurrency: 26.95• Successful transactions: 408• Failed transactions: 2122• Longest transaction: 4.72• Shortest transaction: 0.09

50 Concurrent Requests

“Unlimited” Package at generic host

• Transactions: 328 hits• Availability: 4.65 %• Elapsed time: 59.03 secs• Data transferred: 7.63 MB• Response time: 7.02 secs• Transaction rate: 5.56 trans/sec• Throughput: 0.13 MB/sec• Concurrency: 39.02• Successful transactions: 328• Failed transactions: 6731• Longest transaction: 5.65• Shortest transaction: 0.09

100 Concurrent Requests

WHAT HAPPENED?

Were these requests throttled or artificially limited?

Could the server just not handle this traffic?

I am not sure and I was very disappointed!

VPS with cPanel

• Transactions: 371 hits• Availability: 100.00 %• Elapsed time: 59.86 secs• Data transferred: 4.81 MB• Response time: 3.44 secs• Transaction rate: 6.20 trans/sec• Throughput: 0.08 MB/sec• Concurrency: 21.32• Successful transactions: 371• Failed transactions: 0• Longest transaction: 8.48• Shortest transaction: 0.64

25 Concurrent Requests

VPS with cPanel

• Transactions: 326 hits• Availability: 100.00 %• Elapsed time: 59.47 secs• Data transferred: 4.93 MB• Response time: 7.90 secs• Transaction rate: 5.48 trans/sec• Throughput: 0.08 MB/sec• Concurrency: 43.32• Successful transactions: 326• Failed transactions: 0• Longest transaction: 13.68• Shortest transaction: 1.33

50 Concurrent Requests

VPS with cPanel

• Transactions: 279 hits• Availability: 100.00 %• Elapsed time: 59.76 secs• Data transferred: 4.13 MB• Response time: 16.61 secs• Transaction rate: 4.67 trans/sec• Throughput: 0.07 MB/sec• Concurrency: 77.55• Successful transactions: 279• Failed transactions: 0• Longest transaction: 26.51• Shortest transaction: 1.97

100 Concurrent Requests

These results were much better than the “unlimited” plan and were on a VPS

that costs less.

Optimized Environment

• Transactions: 2252 hits• Availability: 100.00 %• Elapsed time: 59.15 secs• Data transferred: 26.33 MB• Response time: 0.16 secs• Transaction rate: 38.07 trans/sec• Throughput: 0.45 MB/sec• Concurrency: 6.19• Successful transactions: 2252• Failed transactions: 0• Longest transaction: 0.36• Shortest transaction: 0.07

25 Concurrent Requests

Optimized Environment

• Transactions: 4374 hits• Availability: 100.00 %• Elapsed time: 59.30 secs• Data transferred: 51.16 MB• Response time: 0.18 secs• Transaction rate: 73.76 trans/sec• Throughput: 0.86 MB/sec• Concurrency: 13.28• Successful transactions: 4374• Failed transactions: 0• Longest transaction: 0.53• Shortest transaction: 0.07

50 Concurrent Requests

Optimized Environment

• Transactions: 8479 hits• Availability: 100.00 %• Elapsed time: 59.08 secs• Data transferred: 99.26 MB• Response time: 0.19 secs• Transaction rate: 143.52 trans/sec• Throughput: 1.68 MB/sec• Concurrency: 27.13• Successful transactions: 8479• Failed transactions: 0• Longest transaction: 1.54• Shortest transaction: 0.04

100 Concurrent Requests

27

0 2250 4500 6750 9000

25

50

100

Co

ncu

rren

t U

sers

Unlimited VPS Optimized

28

0.0% 25.0% 50.0% 75.0% 100.0%

25

50

100

Co

ncu

rren

t U

sers

Unlimited VPS Optimized

Being the Host

• Brand yourself as a host.

– Custom control panel theme.

– Polished welcome email.

• Provide all necessary login credentials.

• What do you support?

• Communicating with clients.

– Response times are important!

– Email, Telephone?

– If you have a large number of clients, helpdesk software may be necessary.

• This will help you keep track of issues as well.

• MY SITE IS DOWN!

– You need a plan for these situations, they can always happen.

• Know your clients.

– Different clients require different types of needs and varying levels of technical abilities.

• Are you moving existing sites to your reseller account?

– Provide a way for the client to test the site before the DNS is changed over.

– Temporary domain or editing hosts files work for this.

Let’s get to work.

• Package creation.

– Are you going to create individual or generic packages?

– What are your available resources?

• Ensure you are selling your resources for more than you buy them.

• Are you limited in the amount of domains you can resell?

• What is your available disk space?

• How much bandwidth do you get?

• Do your clients need email or FTP? Are the number of available accounts limited?

Ever use the InterWorx control panel?

• Create a client account. (SiteWorx account)

– Use (yourchoice).peers.nextmp.net as domain name.

– Assign an appropriate package.

• Create a database and database user, keep this information handy.

• Create an FTP/SSH account.

– SSH credentials can be found in your home directory.

Lets Install EE!

• Download files.

– http://download.peers.nextmp.net/ExpressionEngine2.9.3.zip

• Upload the files.

– Or wget on server if you are more comfortable.

• Navigate to domain.tld/admin.php

– You still have your database user and password right?

– Fill out install form

– Remove system/installer .

Have you seen our white paper?

• Things have changed since this was published.

– These benchmarks were with PHP 5.3, we recommend PHP 5.4 for performance as

well as a smaller memory foot print.

– EE 2.8+ now supports memory based caching natively.

Please download the white paper to review it at the following location.

http://download.peers.nextmp.net/Nexcess-Best-Practices-For-

ExpressionEngine-v12.pdf

Security is always a concern

• Please do not use the same password for everything!

– Use a password management tool to achieve this.

• File permissions are very important especially in a shared hosted environment!

– Others clients could potentially read or write to your files or directories.

• EE makes it fairly easy to add additional security.

– Easy to change or move system folder.

– Easy to change admin URL.

Permission Groups

• There are three standard permission groups

– Owner

– Group

– Other (Everyone)

These are most often represented as a three digit number

NUMBER OWNER GROUP OTHER

700 RWX - - - - - -

770 RWX RWX - - -

777 RWX RWX RWX

A number 0-7 in each of these spots impacts each groups permissions.

666 - Everyone can read and write BAD

777 - Everyone has full control BAD

000 - No one has any access

File Permissions

• There are three basic permissions

– Read (4)

– Write (2)

– Execute (1)

OCTAL READ WRITE EXECUTE

7 R W X

6 R W -

5 R - X

4 R - -

3 - W X

2 - W -

1 - - X

0 - - -

The best permissions vary by hosting environment

The following may not work for every server or even take down your site

Contact your host for suggestions!

Permissions Hardening

You do not want other people reading sensitive files or modifying your site files.

Run the following commands from within your webroot

Directories

This will allow you full access and let others see a list of files.

find . -type d -exec chmod 711 {} \;

Files

This will allow you to read and write, and allow the webserver and others to read

your files.

find . -type f -exec chmod 644 {} \;

PHP Files

You may not want others reading your PHP files

They may contain sensitive information.

find . -type f -name “*.php” -exec chmod 600 {} \;

Moving some things around

• Rename your admin.

– Edit system/expressionengine/config/config.php

• $config['cp_url'] = “http://domain.tld/yourchoice.php”;

• Rename admin.php to chosen name

• Moving your system directory.

– Edit the following in index.php and admin.php

• $system_path = ‘./newsecurename';

• Rename system/ to reflect the new name.

Performance Concerns

As we have seen and learned about with the white paper a properly configured

environment is vital to a site’s performance.

There are some simple steps that can be taken to help with performance outside

of the environmental aspects however.

• Turn on GZIP compression in EE.

• Ensure caches are enabled.

– Increase number of cacheable URIs.

– Use a memory based solution if available.

• Disable unnecessary add-ons.

• Turn off tracking.

– EE has a great feature to suspend this with heavy traffic automatically.

• Enable template caching.

– If pages are very dynamic tag caching may be more suitable.

• Enable dynamic channel query caching.

– MySQL query cache may be more effective.

– Enable this feature only if you do not use future entries, expiring entries, or random

entries.

• Convert database tables to InnoDB.

– This can help a high traffic site significantly.

– Search tables cannot be converted in MySQL versions prior to 5.6.

Each site is different, some changes that may help one site a great deal may

have little or no impact on your particular site.

It is best to test any optimizations to determine if they are truly beneficial to your

site as well as to rule out any unintended consequences.

Final Thoughts

• Any further questions?

• Is there anything you wish was covered that wasn't?

• What would you like to see out of a hosting company?

top related