Forums / General / unicode +ez335 + memory exhausted

unicode +ez335 + memory exhausted

Author Message

Anton Shishkin

Monday 27 September 2004 5:48:19 am

We developing bilingual site (english and russian) using eZ Publish 3.3-5. Cause of Unicode support first we used PostgreSQL 7, then we tried MySQL 4.1 Gamma. In both cases we got a PHP error "Allowed memory of NNN bytes exhausted in file XXX" when we tried to publish an article.

Every time file was different.

We set memory limit up to 256M in php.ini but it didn't help.

How can we fix this problem?

Jan Borsodi

Monday 27 September 2004 6:55:32 am

Does your PHP module have the <i>MBString</i> extension compiled in?

Without this eZ publish is forced to do the conversion in pure PHP which is a lot slower than the extension and it will also use much more memory.

More info on the PHP mbstring extension can be found here:
http://www.php.net/manual/en/ref.mbstring.php

--
Amos

Documentation: http://ez.no/ez_publish/documentation
FAQ: http://ez.no/ez_publish/documentation/faq

Anton Shishkin

Tuesday 28 September 2004 9:41:13 pm

Yes, we have mbstring extension installed to PHP.

elchino chino

Thursday 20 January 2005 11:48:19 am

It would be great to have some response about the Unicode problems with EZ - even with MbString enabled with PHP, memory just disapears and a 450mb Apache is a pretty ugly sight.

It would be nice to see ez.no running Unicode on its own site!

Jan Borsodi

Monday 24 January 2005 1:14:40 am

This must be a configuration problem, most likely within PHP. I've tested Unicode setups on many occasions and haven't run into that problem.

Do you run an accelerator for PHP, it might be that it causes some problems. Try clearing its cache and restart apache.

Also could you give some more details:
- Which PHP extensions are compiled into PHP
- How was the site setup, could you show parts of the INI files you modified.

--
Amos

Documentation: http://ez.no/ez_publish/documentation
FAQ: http://ez.no/ez_publish/documentation/faq

elchino chino

Monday 24 January 2005 1:47:12 am

ezpublish 3.5.0

PHP
Version:
4.3.9
Extensions:
xml, tokenizer, standard, session, posix, pcre, overload, mysql, mbstring, gd, ctype, zlib, openssl, apache2handler
Miscellaneous:
Safe mode is off.
Basedir restriction is off.
Global variable registration is off.
File uploading is enabled.
Maximum size of post data (text and files) is 8M.
Script memory limit is Unlimited.
Maximum execution time is 60 seconds.

PHP accelerator
ionCube PHP Accelerator (enabled)
phpa cache is disabled because of memory leaks (better performance without it)

Apache2

Name:
Apache
Version:
Apache
Modules:
core, mod_access, mod_auth, mod_include, mod_deflate, mod_log_config, mod_env, mod_mime_magic, mod_usertrack, mod_setenvif, mod_ssl, prefork, http_core, mod_mime, mod_status, mod_autoindex, mod_asis, mod_suexec, mod_cgi, mod_vhost_alias, mod_negotiation, mod_dir, mod_imap, mod_actions, mod_speling, mod_userdir, mod_alias, mod_rewrite, mod_so, sapi_apache2

CPU: (dedicated server, no possible changes to hardware)
CPU 2.40GHz (686-class CPU) 2412.08- MHz
Memory:
479.94 MB

Database mysql (last production one 4.)
UTF8 database
Query cache enabled
Thread cache enabled

Running on freebsd (from the root of the tree, no subfolders)

The main problem is with the index cron, wich kills the machine completely and takes very long long time to complete. If we index at the moment of publishing apache takes (depending on the text size) up to 200MB ram, wich kills the server. We need the search engine, but if we cannot index content its useless.
What needs so much memory to run???
Are you putting the whole database on memory??

I think you should know that ez 3.5 has very big problems compiling diferent siteaccess at the same time or when two users load the same page at the same time and it has no cache (template and content). That makes two apache processes grow and grow, and the server...

Thanks

Jan Borsodi

Monday 24 January 2005 2:43:12 am

What kind of size are the articles (words or characters)?

When we index the article to the search engine we have to split up each word, this means that if the text very long it could end up using lots of memory.

Do you have the possiblity to send us the text for this article to info at ez dot no?

--
Amos

Documentation: http://ez.no/ez_publish/documentation
FAQ: http://ez.no/ez_publish/documentation/faq

elchino chino

Tuesday 25 January 2005 1:46:34 am

Sorry for the delay i'm very very busy.
Articles are normal articles, not so long, 1 to 3 msword pages aprox. I cannot publish it here, sorry.
Is just words in several languages. With DelayedIndexing=enabled every thing works, but if i disable or run the index cron the server dies.
What is the diference if we publish words, simbols, chinese or whatever, we use unicode, so every thing should be coded in the same way.

Thanks

Derick Rethans

Thursday 27 January 2005 12:13:17 am

Hello! In order to know what's going wrong we'd like to see a "backtrace" of your script when it exhausted memory. In order for that to work we kindly request you to follow the following procedure:

- download Xdebug from http://xdebug.org/link.php?url=xdebug200b2
- install Xdebug and configure PHP to use it: http://xdebug.org/install.php#compile (you don't need to set any php.ini options extra for Xdebug, only the zend_extension..... line as described there).
- restart Apache
- request your script again, when it exhausts memory it will show you a stacktrace