We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 15558
    • 108 Posts
    Hi everyone,

    I was wondering if there is a tool that would simplify the audit process of a mid- or high-level project.

    My situation is that I had to (and wanted to) build this website despite my very low dev-skills. (you might notice that some pages are as ugly as unachieved, may your eyes forgive me). I use many TVs for each resource. Many means about 10. (You wanna hit me right now ?) 10 of which most of it are text fields, two are tag lists, one image, one date and... that's all. I assume now TV were not the best choice to make but this was the only way I could handle it.

    The website is now hosted on a cheap dedicated server (something like 1x VIA® Nano® U2250, 1.6 GHz, x64, VT / 2 Go DDR2) and whenever some resource is published, the website crashes, Error 500. All of my snippets (that can afford it) are cached.

    While everything kind of works, clicking on some tags (like Ambiant) that should output about 60 resources might cause an Internal Server Error 500.

    My main problem is that I have no clue about what is the worse : the (mis)conception of the website, or the server ?


    Revolution 2.2.4-pl (traditional)
      Sorry for that ⇧ , I'm no dev but I wanna try
      • 3109 ☆ A M B ☆
      • 894 Posts
      I'm not sure what you're trying to do but I suggest you install VersionX which makes copies of all the edits done to pretty much anything in MODX, you mentioned a tool to make a snapshot of your install you can use Vapor for this. Althought the instructions here are for MODXCloud other users have had success using this.

      You say you are having an issue when outputting 60 resources when you click on Ambiant I ran into this issue a while ago so make sure you use limit on your get resources call and return about 10 results and use pagination that will take care of the error 500 issues.

      I hope some of these suggestions help.
        Benjamin Marte
        Interactive Media Developer
        Follow Me on Twitter | Visit my site | Learn MODX
        • 15558
        • 108 Posts
        thanks for the hint and sorry also : snapshot isn't the best term to use. I meant something like a "scheme", lists of resources and items (like snippets, and TVs) involved, and some kind of measure of the heaviness of their requests... I'm sorry for not being clear, I learned english by myself... (might be obvious).

          Sorry for that ⇧ , I'm no dev but I wanna try
          • 33976 ☆ A M B ☆
          • 571 Posts
          kehezen,

          I'm not aware of a tool letting you know the used elements, but Bob Ray released Orphans, which seems to do the opposite (find unused elements).
          To do some kind of "bench", you might want to give a try to Executioner.

          I hope that's you are looking for and that will help a little bit wink

          Cheers
            • 3749
            • 24,544 Posts
            Another possibility is Firefox with Firebug or profiling with Chrome Developer tools.
              Did I help you? Buy me a beer
              Get my Book: MODX:The Official Guide
              MODX info for everyone: http://bobsguides.com/modx.html
              My MODX Extras
              Bob's Guides is now hosted at A2 MODX Hosting
              • 15558
              • 108 Posts
              thank you both I'll have a look at it
                Sorry for that ⇧ , I'm no dev but I wanna try
                • 15558
                • 108 Posts
                It appears that I already used Executioner some time ago, but let me ask, does it matter if I leave those Executioner calls (instead of removing them) ? Do they slower load times ?
                  Sorry for that ⇧ , I'm no dev but I wanna try
                  • 34084 ☆ A M B ☆
                  • 756 Posts
                  If the overall issue is to just increase performance then a free service like CloudFlare might be a great option as it helps to significantly increase performance of a website through various options (CDN, Caching, Compression, etc.).

                  Another critical item of note is that if you are using a fair amount of output modifiers (the conditional items in output that use the colon sign Ex: [[+myItem:eq=`something`:then=`this`:else=`that`]]) then those will have pretty heavy impact on overall site/page performance so try to limit them as much as possible.

                  As noted you are getting the 500 errors it appears just do to fact that its taking more time to execute the code than allowed. Take some time to review your templates, chunks, etc. to see if you can break them into smaller logical pieces to avoid the extra use of output modifiers. Then if you still have issues you might also ask your host about the performance as sometimes they have too high density on single instances that can cause these issues as well.
                    Evo Revo // Ubuntu, CentOS, Win // Apache 2x, Lighttp (Lighty)
                    Visit CharlesMx.com for latest news and status updates.
                    • 15558
                    • 108 Posts
                    Quote from: charless at May 05, 2013, 05:51 PM
                    If the overall issue is to just increase performance then a free service like CloudFlare might be a great option as it helps to significantly increase performance of a website through various options (CDN, Caching, Compression, etc.).

                    Another critical item of note is that if you are using a fair amount of output modifiers (the conditional items in output that use the colon sign Ex: [[+myItem:eq=`something`:then=`this`:else=`that`]]) then those will have pretty heavy impact on overall site/page performance so try to limit them as much as possible.

                    As noted you are getting the 500 errors it appears just do to fact that its taking more time to execute the code than allowed. Take some time to review your templates, chunks, etc. to see if you can break them into smaller logical pieces to avoid the extra use of output modifiers. Then if you still have issues you might also ask your host about the performance as sometimes they have too high density on single instances that can cause these issues as well.

                    thank you charless.
                    CloudFlare is the choice I made past week. It's quite nice, I have to wait and see if it helps also when someone publishes a resource and the cache gets cleared. The publication of a resource is generally the main cause of a site crash. What drives me mad are things like on this page. This is a getPage call, it has to fetch resources which have 10 TVs - but I use &includeTVList=`tv1,tv2,tv3,tv4`. (And &limit=`9`, despite I'd like to output plenty of them on a single page) Such a call takes about 4+ seconds, sometimes 10+, to get executed. This wouldn't be such a problem.... if getPages could be called uncached ! Is there a way to avoid this ? I'm led to wonder :how do the other websites do, to display lists of many resources (not only 9)? Do they just avoid using TVs ? I assume Revo doesn't require an 8-Core server - or does it ?

                    Is there something about phpThumbOf I should care of, something I don't know yet ?

                    -- about conditional items, I knew this for a while since I'm searching for speed increasing and was despaired to see that I'm using such a few !

                    [[*publishedon:strtotime:date=`%d %B %Y`]]
                    [[*createdby:userinfo=`fullname`]]

                    can you please tell me if things like those count also ?

                    Well, ok, I must confess those also : [[*someKindOfImageTv:phpthumbof=`w=270&h=270&zc=0`]]
                      Sorry for that ⇧ , I'm no dev but I wanna try
                      • 42101
                      • 125 Posts
                      Quote from: benmarte at May 04, 2013, 10:30 AM
                      ..you mentioned a tool to make a snapshot of your install you can use Vapor for this. Althought the instructions here are for MODXCloud other users have had success using this.

                      Wow - Vapor is great. Exactly what I was searching for. It works perfectly from Server to localhost.
                      I just let the package manager search for packages and it found my before made package,
                      installed it, got errors because of the database wasn't imported yet.
                      After importing the server db, mostly everything worked out of the box.

                      Good to know this snapshot tool now! I was wondering why ( I can imagine...) it isn't featured in the modx "welcome" window.
                      Because it really does a great job!
                      :-)

                      AD