ECC
Contents
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
| 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.phpnode--price_monitor.tpl.phpnode--visitor_profiler.tpl.phpnode--product_characterisation.tpl.phpnode--price_monitor_configurator.tpl.phpnode--competitor_profiler.tpl.phpnode--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):
- User management: http://ecompass.exus.co.uk/admin/people
- Check for module updates: http://ecompass.exus.co.uk/admin/reports/updates/update
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