CQRS it is good?

I was at event about CQRS by Greg Young and it is really good? Yes. I know where I can use that, but that helps only is specific places. I recommend events like that for all.

One of the best topic what I hear is “If call you your client and says: – I post comment, but he it’s not there, then say for client: – computer still working, just please wait”. I told it to our managers!

Och, pizza was great! Thanks Greg!

Index on big MySQL table? No problem!

I know a lot companies in Lithuania who if need index on big table call sysadmin, but when we try to call our sysadmin to add index on big table.. that was bad idea.. because we got a lot of locked queries and after 10-30 min server was dead.

Now add index on big MySQL table is easy, just try this tool:

http://code.google.com/p/openarkkit/source/browse/trunk/openarkkit/src/oak/oak-online-alter-table.py

Example in console:

./oak-online-alter-table.py -a “DROP INDEX old_index_name, ADD INDEX ( \`OrderID index\`, \`OrderID\` )” -d database -t table -H localhost -u root –ask-pa

We try on XX GB tables, works fine! Just try it!

CentOS 6 + ISPConfig 3!

I change old server from: 1 core x 2 Ghz Xeon, 10GB HDD, 1GB RAM (CentOS 6 + webmin) to new one: 2 cores x 2Ghz Xeon, 50GB HDD, 3 GB RAM (CentOS 6 + ISPConfig) and everything works incredible fine.

CentOS 6 + ISPConfig 3 intallation is soo easy, like 2+2: http://www.howtoforge.com/perfect-server-centos-6.0-x86_64-ispconfig-3

Some system configuration:
* “/usr/local/ispconfig/server/conf” – in php-fcgi-starter.master dropped PHP_FCGI_MAX_REQUESTS or modifications in: /etc/httpd/conf.d/fcgid.conf add: FcgidMaxRequestLen 59931072or more.

* vi /etc/named.conf – allow-query     { any; }; change to: allow-query     { localhost; };

Some interesting bugs:
* “Warning: include(): open_basedir restriction in effect. File() is not within the allowed path(s)? File()” – is empty value, wtf? You can turn off only in default php-fcg-starter.master file or in:/var/www/php-fcgi-scripts/web/.php-fcgi-starter. Apache AllowOveride All and .htaccess with php_admin_value open_basedir none not helps!

* “Fail2Ban Logs” (need some modification in /etc/fail2ban/fail2ban.conf edit log target param to: logtarget = /var/log/fail2ban.log);

Problems later:
* [ERROR] Can’t find messagefile ‘/usr/share/mysql/english/errmsg.sys’ – after one month, helps: yum –enablerepo=remi,remi-test reinstall mysql-libs

All other services now works fine about ~one month. Client friendly interface, easy usage.

Highly recommend for small business or home users!