This month I had the honor to be featured on the SwissICT website as a database specialist. SwissICT is Switzerlands largest special interest group for information technology.
My portrait serves as an introduction to my job as a database engineer for people interested in Information Technology (IT). Since a database specialist is often a person that operates behind the curtain, I hope this interview can show some of the aspects of our daily jobs.
Read the rest of this entry
Well, you’ve got to go with the time. krenger.ch is now reachable through IPv6 thanks to the IPv6 support of HostEurope:
simon@atlas:~$ ping6 www.krenger.ch
PING www.krenger.ch(2a01:488:66:1000:53a9:2967:0:1) 56 data bytes
64 bytes from 2a01:488:66:1000:53a9:2967:0:1: icmp_seq=1 ttl=64 time=0.022 ms
64 bytes from 2a01:488:66:1000:53a9:2967:0:1: icmp_seq=2 ttl=64 time=0.035 ms
64 bytes from 2a01:488:66:1000:53a9:2967:0:1: icmp_seq=3 ttl=64 time=0.042 ms
I was not pleased with the results of my database tweaks. So I looked further to improve the performance of this blog and stumbled upon XCache. Developed by the same people that created lighttpd, XCache is a PHP opcode cacher that greatly improves WordPress performance.
Using the same Java program I used in my previous tests, I queried the website 500 times and packed the data into a graph. This is what showed up:
Now that is what I am talking about! The query time is nearly three times as fast as before.
I am still looking into other cachers like Alternative PHP Cache (APC), but I like xcache so far.
Today I wondered how my newly purchased Virtual Server performs under load. I am currently using lighttpd as a webserver and MySQL as the database for WordPress. I already knew that MySQL features the Query Cache, which stores the result of issued queries in memory (Oracle’s equivalent of this would be the Result Cache in Oracle 11g). I wondered how much this feature could improve performance on a normal WordPress blog.
I quickly wrote a small Java program to query my website (source code available here: TestWebPerfo.java) and retrieve the performance metrics from the HTML source code. I then ran it 500 times to get my metrics without the Query Cache turned on. Average time for building the website: 0.115 seconds.
Read the rest of this entry
Having security in mind, I had some concerns granting all privileges to the WordPress MySQL user (see the instructions from WordPress):
GRANT ALL PRIVILEGES ON databasename.* TO "wordpressusername" [..]
After all, with these privileges the WordPress user would be able to access other databases on this server and do whatever he likes. WordPress has become very popular and is a known target for exploits and the like (as a quick search on milw0rm.com will confirm). I didn’t like that idea.
So here is what I did:
GRANT SELECT, INSERT, UPDATE, CREATE, DELETE ON wordpress.* TO 'wordpress' IDENTIFIED BY 'mypass';
This works fine so far and I don’t think my WordPress installation needs more privileges. Note that the ALTER and DROP statements are missing from my list, which could interfere with future updates. But we’ll see…
Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!
Thank you, very kind. Let’s see what we have here…
Today I finally received the credentials for my new rootserver from HostEurope. So far everything went well and quickly I was able to set up a webserver.
So far, so good. I am going to post some more content in the following days.