Trying to locate the bottleneck in our drupal site. I've installed xhprof to profile but honestly I have no idea what "normal" numbers would be on Drupal. I was hoping I could get some pointers or if anyone knows of a tutorial that goes over this specifically for Drupal...?
Here are the top items when I sort by Exclu. CPU. Again I'm not sure what columns are most important to look at and what is "normal". I'll gladly add more info if needed.
What database engine are you using? _db_query functions shouldn't take up that much of the load time. Make sure you have a clean connection to the database server, and that its set up properly.
Related
I'm learning to code, and I know the basics to get a WebApp up and running with react + firebase and also have done some Laravel tutorials but right now I need to ship something as quick as possible since I'm at an accelerator.
I know WordPress has the themes and plugins but not sure if I will be able to tie everything together.
Basically what I need is a kind of reddit with a paywall. So I know I can integrate Stripe with some plugins, but will I be able to give access to members to specific groups without much trouble?
Thanks!
With your level of coding knowledge (if I understood you correctly), I might recommend trying or at least starting with a Wordpress plugin. If you're feeling up to it, you might try something like this tutorial to create a custom one.
A basic PHP server is pretty handy (XAMPP, LAMP, etc.) and super quick to get up and running (since almost anyone will host it for cheap). Another great approach is Code.xyz (https://code.xyz/) or even Runkit (https://runkit.com/).
Hope that helps!
I'm working on a large Drupal website under two environments -Development and Stage. While I work in Development, my client enters content in Stage.
My work in Development modifies the database. Then, I need to be really careful when taking my work to Stage -otherwise I could affect my client's content.
This is painful and inefficient. Do you know of other options for this particular scenario? Perhaps a database merging tool? Thank you for your advice.
This is an inherent issue with Drupal, the storing of configuration and content in the same database. There are methods to help mitigate the issue, (like the Features module that helps you compartmentalize configuration changes) but they are very dependent on module support.
On our last site we tried using the Features module and the Deployment module but so many of the modules we wanted to use didn't have support for Deployment that we ended up not going that route and just manually duplicate configuration changes by hand.
Depending on what your client is entering you might be able to use some handy mysql to solve the issue, can you tell us a bit more about your scenario?
There are two kinds of data, configuration and user content. For user content, set autoincrement to two and use even and odd for dev / staging. For configuration write update hooks. Easy.
Try looking at these two former thread on the same issue:
Drupal DATABASE deployment strategies?
How to merge Drupal database changes
You could turn it around and keep copying your staging site's information to new instances of your development site's platform. Miguel Jacq has done a nice write up on achieving this set up. After testing things through you can then set up a thoroughly tested production platform at the production address and copy the staging site over.
Miguel's article: http://greenbeedigital.com.au/content/drupal-deployments-workflows-version-control-drushmake-and-aegir
Aegir: http://community.aegirproject.org
#jhuebsch: that sounds like a disturbing experience. Can you add a list of the afflicted modules and were you sure to use UUID & Strongarm?
I've been trying to learn how develop websites with ASP.NET as well as setup a personal website to use as a online porfolio/resume. With my website I've decided to not try to reinvent the wheel and thus decided to use a premade ASP.NET based CMS.
After reading a lot of reviews I settled on Umbraco, but now I'm seeking out alternatives. I like Umbraco a lot but I keep running into problems. Since installing it on my host I haven't made any changes through the file system, or database directly. All changes have been through the admin site. Yet somehow I kept getting it into some state where I could not delete a datatype, and now I'm having problems removing or renaming one of my templates. I've searched for Umbraco forums for solutions and usually find that I have to run some SQL script workaround on the database to clean things up. This kind of thing is really not something I want to fiddle with for my personal site.
Has anyone else had a lot of problems with Umbraco like I have? Are there other free CMS systems out there that are more reliable, yet similar to Umbraco? Specifically I really like how Umbraco gives me total control over the HTML generated by my site. Simple is also better in this case. I'm not trying to create some kind social network/community portal/forum/blog site. There won't be multiple people logging onto this site or anything like that.
I've been reading a bit about N2, which I'm now starting to consider. I like that it's more developer based and that you setup page types through real .NET classes in Visual Studio. Again I don't want to attempt to build my own CMS from scratch, but at the same time I really don't like how hard it is to see what's going on under the hood with most other CMS systems.
I haven't used N2 so I can't comment on that, but alternatives you can consider are Orchard or FunnelWeb, both are on MVC 3 and Razor.
If you're wanting a blog that is mostly just a blog then FunnelWeb is a good option.
I'm currently writing a comparison between Orchard and Umbraco if you're interested as well.
I think you'll be happy you stuck with Umbraco. I was so frustrated with Umbraco when I first started working with it for the exact reasons you stated above. The issue with not being able to delete data types could mean that it's connected to something (IE: document or media type) somewhere and if you force delete it (IE: via the db) you could really mess up your install. <- speaking from experience.
I'm absolutely in love with Umbraco now though. I am completely confident that I can build just about anything I need with it now.
I think that my best piece of advice I can pull from my own experience is make sure that you've got your site architecture planned out thoroughly before starting to build it out in Umbraco. You don't want to be fiddling around in there afterward changing things and that's where you can really get yourself into some hot water.
Have fun!
if you want a minimal .net mvc4 cms with good performance check out puck https://bitbucket.org/yohsii/puck/overview
it adds very few concepts on top of what you need to know for .net mvc but it does require .net4.5 (and therefore VS2012) to work with.
it also uses localdb out of the box but if you don't want to install that just attach the database mdf file to regular sql server and change the connection string
I really like drupal somehow. But what disturbs me most is that i can't figure out a clear way of deployment. Drupal stores a lot of stuff inside the database (views, cck, workflow, trigger etc) that needs to be updated.
I've seen some modules that could be used for this task (eg features) and I'm not sure if they are sufficient. Yet they are only for drupal6 and i currently have to work on a drupal5 site where updating is not yet an option.
Any ideas?
This is a weakness. Drupal doesn't have the developer tools built in that make development and deployment easy like Rails does (for example). One problem is Drupal isn't aware of it's environment natively. Secondly, there are too many different methods and modules that require special care. It can get very confusing. But things are getting better with drush and drush make.
I'm assuming here that you have a development environment on your local machine and a live or staging server you upload to.
The first thing you have to do is work out how to get your database fixture and your code to and from your server to your development environment very quickly. You need to make this proceedure as painless as possible so you can keep different versions of your site in sync without much effort. This will mean you will hopefully be able to manage less change every time you deploy. Hopefully...
Moving the database around isn't too hard. You could use phpMyadmin or mysqldump but the backup migrate module is my favorite tool.
To upload code from your local repository or site can be done in a few ways. If you use a version control system like git, you can commit on your local machine and check out again on the staging server. There are also special deployment tools like capistrano you should take a look at. (if you know this stuff already it may benefit others to read). If you're using FTP you should probably try something different.
If you're working with a site that is still in production, you can afford to make small incremental changes to your local site, then repeat on the live site and down load the new version of the database when your changes are in place. This does mean you double handle the database but can be a safe way of doing things. It keeps both your database closer to each other and minimises risk.
You can also export views backup to your server in either your code or importing them into your live site. There is a hack to get around deploying cck changes here: http://www.tinpixel.com/node/53 it works OK but cannot truly manage changes like rollbacks. (Respect to the guy who wrote that)
You can also use hook_updateN to capture changes and then run update.php to apply them. I worked on a d5 site with dozens of developers and this was the only way to keep things moving forward. This may be a good option if your site is live or if you need all database schema changes captured in a version control system (so you can roll back).
Also: Take a look at drush and drush make. These tools can be of great benefit. I can't remember how much support is for d5.
One final method of dealing with this is not to use cck or views (and use hook updates). But this is really only suitable for enterprise sites where you have big developer resources. This may seem like a strange suggestion but it can negate this whole problem completely.
Sorry I could not give you a clear answer. This is because one does not exist yet. You'll end up finding your own rhythm once you get into. Just keep backups of your database if you can roll back to them easy enough.
Does anybody know of an easy way to serialise Umbraco settings (Document Types, Media Types etc) to the file system in order to manage that data within source control?
Note: changes to settings made on the file system need to be easily integrated back into the CMS database.
Also, does anybody know of a way to package up settings from a development environment for rolling out to staging and live environments?
Looking back through my unanswered questions, providing updates where possible.
For reference, you can use uSync to serialise content from Umbraco:
https://our.umbraco.org/projects/developer-tools/usync
There is no method currently other than rolling your own package to do it but it should be relatively straight forward using the API. Check out the "Backing up Document Types" article as a starting point .
Your second point about deployment was something discussed in an open session at the Umbraco Codegarden this year and no conclusion was made that was a one answer fits all.