ECC

From E-COMPASS_Info_Guide
Revision as of 22:08, 28 December 2015 by Falkner (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Physical Hardware Characteristics

Model: DELL SERVER PE R420
Processor: (2x) Intel Xeon E5-2407 2,20GHz
RAM: 128 GB
Hard Drive Space: ..
Network Connection: 1 network interface, Intel PRO / 1000 MT Desktop (82540EM) – 1Gbit
Hypervisor used: VirtualBox 5.0.8
Physical Load Balancing:

Virtual Machine Hardware Specifications and Operating System

Guest Operating System: CentOS 6.6 - x86_64
Processor: 2 Processors, 4 Cores 2.20GHz
RAM: 8 GB GB
Hard Drive Space VM: 68,36 GB (SAN/NAS configuration)
Network Connection: 1 Gbit/s
Minimum required Network Connection: no info available

Service Environment and Set-up on VM

Required Software
Software Download
Apache 2 Software-Link
Mysql server 5 Software-Link
PHP 5.4 Software-Link
Drupal 7 Software-Link
Nvd3 Software-Link

Software Licenses

No software license needed

OS Environment Variables

No special settings required

Installation

ECC is essentially a custom drupal 7 theme. The installation procedure described below assumes that there is a backup sql file of the ECC database called ecompass.sql and a tar file containing the drupal files called ecompass.tar.

To create these two files from the current installation:

mysql -uroot -p ecompass >ecompass.sql
tar cvf ecompass.tar /var/www/html/ 

ECC installation steps:

1. Install Apache/PHP/Mysql 2. Create a new database in Mysql (called ecompass) , and also create a new mysql user that has all privileges on the database

create database ecompass;
GRANT ALL PRIVILEGES ON ecompass.* to 'ecompassuser'@'localhost' IDENTIFIED BY 'ecompass-pass';
use ecompass; 

3. Restore the Drupal database from the SQL file

use ecompass;
source ~/path/to/ecompass.sql 

4. Create a virtual host in apache for the ECC web app. Untar the contents of ecompass.tar in the virtual host root directory. Edit the /rootdirectory/sites/default/settings.php file and update the mysql user credentials. Example:

$databases = array (
 'default' =>
 array (
  'default' =>
  array (
   'database' => 'ecompass',
   'username' => 'ecompassuser',
   'password' => 'ecompass-ass',
   'host' => 'localhost',
   'port' => ,
   'driver' => 'mysql',
   'prefix' => ,
  ),
 ),
); 

Service Configuration

Configuration steps

The CMS is based on Drupal 7.x. and is installed at /var/www/html. There is a custom theme created and installed at /var/www/html/sites/all/ecompass.

The theme contains the CSS of the Cockpit and the custom templates/code of the site. Custom templates:

  • node--sales_optimiser.tpl.php
  • node--price_monitor.tpl.php
  • node--visitor_profiler.tpl.php
  • node--product_characterisation.tpl.php
  • node--price_monitor_configurator.tpl.php
  • node--competitor_profiler.tpl.php
  • node--dashboard.tpl.php

Configuration of REST endpoints at: /var/www/html/sites/all/ecompass/functions.php

Operation

Service startup procedure

  • Apache (web server): service httpd stop| start | restart
  • Mysql (mysql server): service mysqld stop| start | restart

Restarting the service

see above

Service Logs

no information available

Recurring Manual Actions / Maintenance Tasks

Maintenance tasks (Login as admin):

Module updates are performed using the url above, via the web interface. Always run the update script each time a module is updated: http://ecompass.exus.co.uk/update.php?op=info

The drupal core cannot be updated via the web interface. To update the drupal core follow the instructions at: https://www.drupal.org/node/1494290

Limitations of the service

With which parameters does the service scale?

How many concurrent E-Shops, how many concurrent products and how many users/E-Shop customers are possible without causing loss in quality/speed for the hardware described above?

There is no limitation for the number of concurrent users. All information is stored in different back-ends and is transferred on demand via http rest services to the ECC. The problem is that the user may experience delays when a large amount of data is requested.
If higher scaling was wanted, which of the hardware parameters would need to be increased?
Currently none of the hardware parameters is the bottleneck in the ECC performance. The bottleneck is the network.
What else would be adjusted for higher scalability?
A solution would be to store the data in a central database (or a clustered database) and use SQL queries instead of http REST services. All data from the various services of the distributed Ecompass platform should be saved in a central database (or a clustered database). This solution would significantly speed up the ECC.
Which further configuration would be necessary?

Contact Information E-COMPASS Cockpit

Odysseas Bournas, obour@exus.co.uk, +30 2107450222