ExpressionEngine CMS
Open, Free, Amazing

Thread

This is an archived forum and the content is probably no longer relevant, but is provided here for posterity.

The active forums are here.

500 error when updating or creating a new field on a large database

October 08, 2013 11:23am

Subscribe [1]
  • #1 / Oct 08, 2013 11:23am

    diadyo

    25 posts

    Hello,

    our exp_channel_data table has 100K+ records and it is more than 500mb. As a result when we try to create or update a field (on any channel, it doesn’t matter) we get an internal server error 500. On our dev site we removed half the entries and the field was created without any errors. So the problem seems to be the table’s size. I never thought 100K records could create such a problem. Is there a way around this? Should I increase any php execution times? or it doesn’t matter? Can we manually create the fields (with sql queries) or this is not recommended? This is a big problem for us, as we cannot do anything at the moment, we cannot create or update new fields…  Running EE version 2.5.3 on a dedicated rackspace server with PHP 5.3.3 and MySQL 5.1.69.

  • #2 / Oct 09, 2013 12:14pm

    diadyo

    25 posts

    I tried increasing mysql-connect timeout but that did not help. Once I click submit to create the field it takes about 45 seconds for the internal server error 500 to show up… I cannot find any 45 seconds value in php.ini so I am not sure what causes the error. ExpressionEngine? MySQL? The server? Not sure where to look…

  • #3 / Oct 10, 2013 1:56am

    diadyo

    25 posts

    Ok, apparently we had to make these changes for the field to be created:
    <br /> FcgidIOTimeout 180<br /> keepalive_timeout 180;<br /> fastcgi_read_timeout 180;<br /> proxy_read_timeout 180;<br /> proxy_connect_timeout 180;<br />

    Now it takes around 80 seconds to create or change a channel field on a database with 100k+ entries. This worries me as the entries increase by hundreds every day. For example when trying to edit entries in the admin section it takes more than 10 seconds to show the entries. If only there was a different table for each channel. So what is the recommended way to approach large sites like this? I cannot remove old entries because we need the archive. Is there a way to archive or zip old entries to a different table? Is there such a feature? An add-on maybe? Has anyone dealt with something similar and wish to give his/her insight on the matter 😊 Please 😊

    Thank you for your time.

.(JavaScript must be enabled to view this email address)

ExpressionEngine News!

#eecms, #events, #releases