Clustering 4.3 on Windows 2000 Server. Is it possible ?

Author Message

Adam Butler

Tuesday 03 August 2010 6:55:27 am

Hi

We have made several attempts to get Ez publish 4.3 running using clustering on

PHP 5.2.5 (cli) (built: Nov 8 2007 23:18:51)
Windows 2000 Server [Version 5.2.3790]
Apache/2.2.8 (Win32)
MySql 5.0.51

All our attempts have failed in one way or another , has anyone actually got 4.3 working with clustering or are we wasting our time ?

If you have and can let us have any advice which will get us up and running
or can point in the direction of some documentation that would be much appreciated.

Thanks in advance

Bertrand Dunogier

Tuesday 03 August 2010 12:00:36 pm

I see no reason why it wouldn't work, as simple as that. Not optimal, but this would work, I think. How many servers do you have in mind ?

Depending on the expected traffic, you might wanna look carefully into the performances of your setup, and tune it accordingly... the knowledge about software optimization for windows might not be very very heavy in the community though, but it's worth a try :)

Bertrand Dunogier
eZ Systems Engineering, Lyon
http://twitter.com/bdunogier
http://gplus.to/BertrandDunogier

André R.

Tuesday 03 August 2010 1:00:06 pm

> are we wasting our time ?

IMHO yes. eZ Publish as well as php and Apache performs best on linux, so you would need less invested time getting it to run smoothly there. MS has been serious about getting PHP to work good on Windows the last few years though, so PHP 5.3+, WinCache, IIS 7+ and FastCGI should perform pretty decent(but yes, you'll optimally need Windows 2008). MySQL is another story though, MS does not spend lots of effort on it unlike PHP, so best SQL server on Windows would be SQL Server, but we don't have anything officially supported for that.

Having said that, I also have to back up what bd says, "it should work", but we have not tested it or documented how to set it up, hence why you won't find it among certified / approved platforms: http://ez.no/ezpublish/requirements

eZ Online Editor 5: http://projects.ez.no/ezoe || eZJSCore (Ajax): http://projects.ez.no/ezjscore || eZ Publish EE http://ez.no/eZPublish/eZ-Publish-Enterprise-Subscription
@: http://twitter.com/andrerom

Adam Butler

Wednesday 04 August 2010 12:52:38 am

The problem we have had is that when following the instructions in the technical manual we get to the step for setting up the clustering and try running clusterize.php this comes back with an error

This then causes an error which breaks the whole site

D:\inet\http\oagaviation.com\ezpublish>php bin\php\clusterize.php -s eng
This script will now copy your files and/or images to database.
You have 10 seconds to break the script (press Ctrl-C).
This 1mClustering settings specified incorrectly or the chosen file handler is ezfs.

With error "Class 'ezdb' as defined in setting file.ini [ClusteringSettings] FileHandler could not be autoloaded. Did you remember to run bin/php/ezpgenerateautoloads.php after you added extension(s)?" in var/log/error.log

We have the ezdb class referenced in the autoload\ezp_kernel.php file so the system should be able to find it

When you try to access any page within the default site from a web browser we get a "Unexpected error, the message was : Access to non-public constructor of class eZDB in D:\inet\http\oagaviation.com\ezpublish\lib\ezutils\classes" in the var/log/error.log

We have had clustering work in version 4.2 on windows using ezdb as the filehandler and mysql as the db.

Bertrand Dunogier

Wednesday 04 August 2010 2:50:49 am

I'm having a few doubts here... could you paste your file.ini override right here please ?

Thanks.

Bertrand Dunogier
eZ Systems Engineering, Lyon
http://twitter.com/bdunogier
http://gplus.to/BertrandDunogier

Adam Butler

Wednesday 04 August 2010 3:17:11 am

hi Bertrand

ezpublish\settings\override\file.ini.append.php

is as below with obvious changes for sensitive data

<?php /* #?ini charset="utf-8"?
[ClusteringSettings]
FileHandler=ezdb
DBBackend=mysql
DBHost=host.address
DBPort=3306
DBSocket=
DBName=database_name
DBUser=user_name
DBPassword=password
DBChunkSize=65535
*/ ?>

I have checked the cluster db is the same db as used for the instance of ez publish and so is accessible using host config / credentials

Adam Butler

Wednesday 04 August 2010 3:44:18 am

We have had an experiment using the

FileHandler=eZDBFileHandler
DBBackend=eZDBFileHandlerMysqlBackend

settings

This has allowed us to import the content into the db , however the default eng site looks ok , but the admin site is not finding either it's javascript or css files.

The files are linked in the admin home / post login page as

http://xxx.xxx.xxx.xxx.xxx/var/ezflow_site/cache/public/stylesheets/3e08b22e788f030c151caf0bcba0277f_all.css
and

http://xxx.xxx.xxx.xxx.xxx/var/ezflow_site/cache/public/javascript/073908696c0ced15f702f77c93154ca9.js

I have also noticed that when running the clusterize script it's only indexing to var/ezflow_site/storage/ regardless of which -s option we give it

This where we we're a couple of days ago.

Update - I have just cleared the cache and now the defult eng site is missing both css and js files - have re-run the clusterize script but this has had not effect.

Bertrand Dunogier

Wednesday 04 August 2010 5:34:00 am

The configuration you have experimented with is the correct one. We now use class autoloading, and therefore require class names to be used instead of handler names.

Your problem is a different one; ezjscore requires specific cluster rewrite rules in order to serve packed CSS & JS files. See this issue for a solution: http://issues.ez.no/16456.

P.S. You would have experienced the exact same issue on linux. You can also find some details about that on the official online doc: http://ez.no/doc/ez_publish/technical_manual/4_x/features/clustering/setting_it_up_for_an_ezdfsfilehandler#eztoc109664_7.

Bertrand Dunogier
eZ Systems Engineering, Lyon
http://twitter.com/bdunogier
http://gplus.to/BertrandDunogier

Adam Butler

Wednesday 04 August 2010 5:56:24 am

Merci Bertrand ,

That seems to have fixed the issue. We'll try running it in development and see how things go.

Thanks Again

Adam

Bertrand Dunogier

Wednesday 04 August 2010 7:11:26 am

Could you set the thread's status to resolved then ? :-)

Bertrand Dunogier
eZ Systems Engineering, Lyon
http://twitter.com/bdunogier
http://gplus.to/BertrandDunogier

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.

eZ debug

Timing: Jan 18 2025 02:06:51
Script start
Timing: Jan 18 2025 02:06:51
Module start 'layout'
Timing: Jan 18 2025 02:06:51
Module start 'content'
Timing: Jan 18 2025 02:06:52
Module end 'content'
Timing: Jan 18 2025 02:06:52
Script end

Main resources:

Total runtime0.8127 sec
Peak memory usage4,096.0000 KB
Database Queries82

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0073 589.2813152.6563
Module start 'layout' 0.00730.0039 741.937539.5234
Module start 'content' 0.01120.8001 781.4609682.0547
Module end 'content' 0.81130.0013 1,463.515624.1094
Script end 0.8126  1,487.6250 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00360.4455160.0002
Check MTime0.00160.1925160.0001
Mysql Total
Database connection0.00060.069010.0006
Mysqli_queries0.721688.7928820.0088
Looping result0.00080.1022800.0000
Template Total0.777095.620.3885
Template load0.00230.287720.0012
Template processing0.774795.321720.3873
Template load and register function0.00020.024110.0002
states
state_id_array0.00130.165010.0013
state_identifier_array0.00100.121520.0005
Override
Cache load0.00220.2720840.0000
Sytem overhead
Fetch class attribute can translate value0.00090.107530.0003
Fetch class attribute name0.00120.1486120.0001
XML
Image XML parsing0.00110.138730.0004
class_abstraction
Instantiating content class attribute0.00000.0042150.0000
General
dbfile0.00080.1030230.0000
String conversion0.00000.001440.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
10content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
20content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
6content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
5content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
3content/datatype/view/ezxmltags/link.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/link.tplEdit templateOverride template
1content/datatype/view/ezxmltags/strong.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/strong.tplEdit templateOverride template
1print_pagelayout.tpl<No override>extension/community/design/community/templates/print_pagelayout.tplEdit templateOverride template
 Number of times templates used: 47
 Number of unique templates used: 8

Time used to render debug report: 0.0001 secs