Friday, April 22, 2011

Performance schema in MySQL 5.5 and 5.6


Configure, configure and configure

The performance schema is affected by three distinct set of configuration parameters, that take effect at compile time, server startup, or runtime.

Compile time options

When building from the source code, make sure the cmake flag 'WITH_PERFSCHEMA_STORAGE_ENGINE' is set to 'ON' (it is by default).

For packages built by Oracle, the performance schema is included by default.

Server startup options

Simply add the 'performance_schema' option to your my.cnf configuration file.

The effect of this option seems mis understood, leading people to think that the performance schema can only be enabled or disabled at server startup time, which is not the case.

The role of this startup option, with the related sizing parameters, is to initialize the performance schema internal memory buffers, and hook the performance schema instrumentation to the server and or plugins, so that everything is 'ready to go'. Note that 'ready to go' does not means 'enabled', it just means that things can be enabled or disabled later at runtime.

Runtime configuration

When the performance schema component is active in the server, it is listening to all events. Performance schema 'consumers' will decide, based on the content of the various setup tables in the performance_schema database, what to do with the event that just happened in the server code.

A table, performance_schema.setup_consumers, shows all the consumers available. This table has a ENABLED column that can be updated, giving the DBA full control on the internal performance schema execution flow.

There is a consumer which effectively controls globally all the data collection, so by turning this consumer ON or OFF, the entire performance schema instrumentation can be turned on or off, dynamically.

In 5.5, this consumer is named 'events_waits_current'. Note that this consumer in fact has two roles, as it controls both the overall data collection, and also the output table performance_schema.events_waits_current. This is a limitation, as there is no way to collect performance schema data independently of table events_waits_current.

In 5.6, this limitation has been lifted, so that the consumer which effectively control data collection is 'global_instrumentation', while the consumer named 'events_waits_current' controls only the table of the same name. The new consumer 'global_instrumentation' in 5.6 is the result of significant performance optimizations implemented in the code, made possible by decoupling the overall data collection from table events_waits_current.

Cheat sheet for mysql-5.5

To enable the performance schema at runtime (5.5), use the following query:

mysql> update performance_schema.setup_consumers set enabled='YES' where name='events_waits_current'; Query OK, 1 row affected (0.00 sec) Rows matched: 1  Changed: 1  Warnings: 0  mysql> select * from performance_schema.setup_consumers; +----------------------------------------------+---------+ | NAME                                         | ENABLED | +----------------------------------------------+---------+ | events_waits_current                         | YES     | | ...                                            ...     | +----------------------------------------------+---------+ 8 rows in set (0.01 sec) 

To disable the performance schema at runtime (5.5), use the following query:

mysql> update performance_schema.setup_consumers set enabled='NO' where name='events_waits_current'; Query OK, 1 row affected (0.00 sec) Rows matched: 1  Changed: 1  Warnings: 0  mysql> select * from performance_schema.setup_consumers; +----------------------------------------------+---------+ | NAME                                         | ENABLED | +----------------------------------------------+---------+ | events_waits_current                         | NO      | | ...                                            ...     | +----------------------------------------------+---------+ 8 rows in set (0.01 sec) 

Cheat sheet for mysql-5.6

To disable the performance schema at runtime (5.6), use the following query:

update performance_schema.setup_consumers set enabled='NO' where name='global_instrumentation'; 

To enable the performance schema at runtime (5.6), use the following query:

mysql> update performance_schema.setup_consumers set enabled='YES' where name='global_instrumentation';

Monday, September 14, 2009

Microsoft Launches New Open Source CodePlex Foundation

Microsoft’s strategy with open source has evolved over the past several years as we strive to make Windows the platform of choice for customers. My team has participated in that process first hand, we’ve worked hard with the PHP community to ensure PHP runs great on Windows, integrated PHP installation into the Microsoft Web Platform Installer, and engaged some of the most popular PHP applications like WordPress, Drupal, and SugarCRM to ensure customers have a great experience running these applications on Windows and IIS. We’ve also worked closely with the jQuery project to make it a natural part of building applications with ASP.NET.

Today I am happy to be a part of the announcement that Microsoft is sponsoring an open source foundation aptly named CodePlex Foundation, whose mission is to “enable the exchange of code and understanding among software companies and open source communities”. I believe the foundation will make it easier for Microsoft and other commercial software companies to participate in open source. You can read more about the announcement in my interview with Peter Galli on Port25 and learn more about the foundation at http://codeplex.org.

The CodePlex Foundation is a completely separate organization from Microsoft. To help form the foundation, we have formed an interim board of directors comprised of three Microsoft employees and three non-Microsoft employees, and elected Sam Ramji as the President of the Board. Microsoft has also donated $1 million US dollars to help the foundation get started and is transferring the use rights to the “CodePlex” term, along with the codeplex.org domain name to the CodePlex Foundation.

I feel lucky to be a part of the interim board of directors as we spend the next 100 days working together with the board of advisors, partners and you to structure how the foundation will work. We don’t have all of the answers and need your help to make it a success. You can read more about how to participate here: http://codeplex.org/participate.aspx

As always, I look forward to hearing your comments and suggestions about the new foundation.

Tuesday, September 4, 2007

DEVELOPER

Hi all
Now i am a developer . Now I am working on ASP.net . But I have still interesest in SEO so i am updating this.

Tuesday, July 31, 2007

SMO BLOGS to read

http://social-media-optimization.com/2007/07/social-media-questions-for-lee-odden-part-2/

http://www.leemccoy.co.uk/index.php // a cool blog

http://www.watblog.com/?content=detail&id=932

http://www.blogopreneur.com/

http://www.inaminuteago.com/mindtracks

http://ypnblog.com/blog/2007/07/09/optimizing-for-social-media/

http://blog.arhg.net/2007/06/yahoo-try-again-to-define-smo.html

http://www.creeper-seo.com/

http://ray963.spaces.live.com/Blog/cns!8ECAFEC9BD4D5C45!212.entry

http://www.seoscribe.com/?p=21

http://www.socialmediablog.co.uk/

http://newmediaetc.blogspot.com/2007/07/social-media-optimization-tips.html

http://www.dailyblogtips.com/101-blog-tips-i-learned-in-2006/

http://rohitbhargava.typepad.com/weblog/2006/08/5_rules_of_soci.html

101 Blog Tips

  1. if you are not, start blogging today
  2. write about something that you love
  3. if you are serious about blogging buy your own domain
  4. make sure your domain name is equal to your blog name
  5. use a short and easy to remember name
  6. use Wordpress
  7. use Wordpress plugins
  8. blog with consistency
  9. write at least 5 posts a week
  10. proofread
  11. proofread one more time
  12. interact with other bloggers
  13. leave meaningful comments
  14. leave funny comments
  15. leave the first comment
  16. backup your blog
  17. get rid of the sidebar calendar
  18. choose your niche wisely, not too big and not too small
  19. participate in online forums
  20. put a link on your signature
  21. use blog carnivals
  22. content is king
  23. customize your blog template
  24. use trackbacks
  25. simplicity is the way to go
  26. leverage social bookmarks
  27. join a blog network
  28. write “Top 10″ lists
  29. use tags
  30. use pings
  31. write “How to” articles
  32. make your posts scannable
  33. list your blog on directories
  34. ask questions to your readers
  35. use Feedburner
  36. use sense of humor
  37. be generous
  38. encourage readers to subscribe
  39. have some spare posts for emergencies
  40. encourage readers to digg your posts
  41. put an RSS subscription icon on every single page
  42. use “series” of posts
  43. return comments
  44. return links
  45. use readable fonts
  46. gather .edu and .gov backlinks
  47. break long posts in more parts
  48. experiment with different revenue sources
  49. write “pillar articles”
  50. use Google Analytics
  51. study those numbers
  52. use email interviews
  53. be yourself
  54. avoid duplicate content
  55. use an RSS reader
  56. read as much blogs as possible
  57. focus on timeless content
  58. have an “About” page
  59. have a picture of yourself on the “About” page
  60. crate your own “Advertise Here” page
  61. use meta tags wisely
  62. learn the basics of SEO
  63. use pictures whenever possible
  64. create value for your readers
  65. place ads wisely
  66. be patient
  67. consider getting a co-blogger
  68. submit your articles to directories
  69. share what has worked for you
  70. share what has not worked for you
  71. read Problogger.net
  72. do not clutter your sidebar with icons
  73. get rid of looooong blogrolls
  74. experiment with Google Adsense
  75. experiment with Text-Link-Ads
  76. link to other blogs as often as possible
  77. make it easy for visitors to contact you
  78. use titles effectively
  79. offer email subscriptions
  80. always answer to questions
  81. always answer to comments
  82. use Technorati
  83. enable subscription to comments
  84. offer useful tools or resources
  85. write with a personal touch
  86. become an expert on your niche
  87. do not rely on “linking posts”
  88. always give your opinion
  89. use simple colors
  90. participate in blogging projects
  91. get to know other bloggers personally
  92. list your best articles
  93. have a voice
  94. organize your categories
  95. talk directly to your readers
  96. make your URL structure efficient
  97. put functional links on your footer
  98. mention your sources or references
  99. do monthly roundups
  100. consider adding podcasts
  101. create a “101 list”

Social Media Optimization (SMO) vs. Social Media Marketing (SMM)

SMO refers to the process of refining a website (optimizing it) so that it’s awareness and content are easily spread through social mediums and online communities by users and visitors of the website. This can include anything done “on-page” such as improving the design and usability of the website so that it becomes more compelling to users, in an effort to help them spread it through social media sites. The simplest example of SMO is represented by all the “digg this” and “add to delicious” icons and links that are all over the web today.

SMM on the other hand plays more of an active role in relation to social media by referring to the creation and distribution of content and other messages through the social web by some form of viral marketing. This can be anything from creating compelling content that gets bookmarked and even hits digg’s homepage to spreading a viral video by putting it on YouTube and other social media websites. It’s about the things that are done off-site, for example, participating in online communities where your customers hang out would be an active role that falls under SMM.

SMO - Social Media Optimisation - Introduction

The Basics:

  • Backlinks (Websites that link to your site)
  • Traffic (Visitors to your site, for this post, we will exclude search engines from this term)
  • Branding (Basically a service, product or even a concept that you can distinguish from the many others)
  • Community Interaction (Interact with other users online throughout the globe, gathering feedback, ideas, responses)

Ever heard the terms SMO or Social Media mentioned? Where does it fit into the grand scheme of things? How do I benefit from using it? What does it exactly do? How do I start?

Tagging

This is done once you submit “content” to any community site, such as YouTube, MySpace, Flickr, etc. The “content” may be anything from a video clip, audio, Podcast, article or a small review of something. Once you have almost completed the process of submitting your “content”, you are able to add Tags (labels) that are meant to be related to the “content you have submitted. These help to identify the “content” you have submitted, and make it searchable to other users within the site. This can be done anonymously, or by creating yourself a profile within the site, preferably create a profile when you are looking at this from a SMO point.The profile will allow you to interact with other members within these sites. Higher “ranked” profiles within these sites will hold more weight on the “content” they submit, meaning it will be more accessible to other members, even “rank” slightly higher. To sum up, tagging, is basically labelling your “content”.

Digging

Not the best word to describe this, but possible the easiest way to understand (South Africans, even surfers will possibly understand easier, with the word being used as slang for “like”). Sites such as Digg, Technorati, etc. The basic idea of this, is that you submit your “content” where other community members may “Digg” your “content”, i.e., vote for it. The more votes your receive the higher the rank for the “content” and the chances of it appearing within the front page of the site, in a featured section, which will allow almost everyone visiting to see your “content” and view it, which in theory provides you with more traffic. Users are also able to make comments about the “content” submitted.

Blogs

Possibly the easiest way to enter into the online social community, allowing you to have your own “online diary” as I would describe, where you can literally write about anything you want. Blog about new industry happenings, release news about new company services, etc. Readers are also allowed to post comments about each post, providing feedback = community interaction. For the average website owner, a Blog is a means in which to add content online that you would normally not on your business website, a small rant about services within the industry, personal reviews on certain things, etc. which in the SEO field would provide a link back to your website, helping it within the search engines, even as another source for visitor referrals.

Social Networking/Community Sites

There are a fair number of these sites out there such as YouTube, MySpace, Flickr just to name a few, each with there own little unique twist appealing to certain people. YouTube is more your online video sharing site, MySpace providing you with your own online profile about yourself, allowing you to add friends and post messages to them within your friends list. Flickr, more of a photo sharing site. Within all these sites you are able to create your own unique profile, with a nickname, and communicate with people all over the world. Sharing news, ideas, chatting and getting feedback on certain ideas, etc. With a MySpace profile you are able to create bulletins, which when posted are seen on all your friends bulletin boards for them to click, read, follow, visit, and send replies = Community Interaction, time consuming for some. There are many of these sites available, with no limit to how many you can join, and they are absolutely free to join and use, just trend lightly according to the Terms of Conditions, when you have the sudden urge to start “spamming”.

Conclusion

If you are indeed interested in making use of Social Media, having a website is not enough. You will need to ensure that the content on your site is easily accessible and distributable on the web. Providing the 3rd party scripting to create links that allow others to “Digg” or even Blog about the “content” within a few clicks is a start.

Provide “content” that will appeal to users; be ready for the negative feedback. Users are fickle, what they like as “hot and happening” now, could be hated within a matter of hours. Social Media communities are also not a perfect system, as the can be misused by others, even scammers. It also allows you to gain feedback from community members to products, services to pro’s even con’s. Ultimately offering you a chance to increase brand awareness, previously only for those companies with vast amounts of money to spend on advertising, etc.

P.S.

Remember that SMO compliments your online marketing strategy, SEO, the same as the way PPC and SEO compliment each other. Using all of these will provide you with an all round online marketing solution. The online world changes each day, so I’ve tried to keep the above as down to basics as possible with regards to SMO, there are so many other opportunities available when it comes to Social Media, that covering them all would be extensive, and they change so quickly, it would be old within a matter of days, the basics are usually a stepping stone for greater things.