341 reputation
18
bio website
location Finland
age 36
visits member for 2 years, 10 months
seen Sep 17 at 7:01

My daily work is a closed source PHP project but I'm really interested in open source projects and I know PHP, C/C++ and Perl 5 pretty well. I can do some Java, Python, x86 assembler (intel syntax) and some other programming languages, too. I'm currently running Ubuntu (workstation, home computer, laptop) and Cyanogenmod (phone) as my OS of choice. GPG: 563168EB


Sep
24
awarded  Autobiographer
Sep
15
comment Apache redirect and set cache headers?
If you want "always" headers only for selected redirects, see this: mark.koli.ch/…
Aug
28
revised SSL Certificate Class 2 vs Class 3 vs Class 4
elaborate the text a bit, fix a couple of typos
Aug
28
awarded  Revival
Aug
20
answered Difference between reboot -n and echo b > /proc/sysrq-trigger?
Aug
12
answered SSL Certificate Class 2 vs Class 3 vs Class 4
Jun
27
comment limit linux background flush (dirty pages)
Elevevator in software is a tradeoff: sacrifice latency to improve bandwidth. For example, imagine 100K write ops in the software queue submitted in random order; if the software elevator can order those ops using a huge buffer it may end up sending only 5K much bigger requests to the device. However, as a result, the latency needs to be increased by 100K ops because it may be that the first 2K ops and last 1K ops are actually near each other on the device. Without added latency, it will be impossible to merge those.
Jun
27
comment limit linux background flush (dirty pages)
Logically dirty_bytes should be barely high enough to not stall CPUs while processes are writing if the process is writing on average with the throughput of the device. If your application code is doing cycles of huge computation followed by writing huge amount of data, if will be very hard to optimize because short time averages differs greatly from long time averages. The correct solution would be to adjust process specific dirty_bytes setting but Linux does not support such thing as far as I know.
Jan
16
comment Why does “cat /dev/null” and “ls” take 5 seconds to load?
It seems that your httpd processes are pretty heavy because those eat way more CPU time than mysqld. I'd investigate if it's possible to optimize the code run by httpd processes (possibly PHP code?) to reduce CPU usage. If you have your own server room, it probably makes sense to move mysqld on a server of its own, run a reverse proxy with load balancer (recent apache with mod_proxy is fine) and run multiple httpd worker boxes in between. This is probably cheaper than getting one machine with very fast CPU.
Jan
16
awarded  Commentator
Jan
16
comment Why does “cat /dev/null” and “ls” take 5 seconds to load?
I agree. The system is not memory or I/O limited because there's plenty of cache and system wait (wa in top output) is low. The system simply cannot provide enough CPU time to even start running cat in less than 5 seconds. If you cannot reduce the workload, the only fix is to get more CPU power. Your workload runs with very high concurrency so I would get CPU with as many cores as possible.
Jan
16
comment Very high CPU and low RAM usage - is it possible to place some of swap some of the CPU usage to the RAM (with CloudLinux LVE Manager installed)?
Looking at your top ouput suggests that mysqld is the bottleneck because it's using close to 5 cores in the same time all your php processses use only a little CPU time. With very high probability your PHP code executes some SQL queries that cause locking between MySQL processes. MySQL is known to be poor performer for concurrent write access from multiple clients so try to avoid any writes to the database if possible at all. If your PHP code supports other backends, you should try using some recent PostgreSQL version instead because it probably performs better with concurrent writes.
Jan
11
comment is it possible to force SMART to re-check Offline sectors?
The only 2 ways disk location within the computer case can have a difference are as follows: (1) the location is poorly ventilated and disk overheats (see temperature SMART data), or (2) power source is bad and the power cord running to said location cannot handle the power requirements of the disk drive. Bad power source can cause random errors in any electronic device. The only way to rule (2) out is to use another power source and see if the problem goes away.
Dec
21
awarded  Yearling
Dec
11
comment How dangerous is NFS async when RAID BBU and UPS are present?
If I have understood correctly, using async for NFS is analogous to allowing disk cache (e.g. using nobarrier for local ext4 file system) and then losing power. In case of NFS "losing power" is technically server's kernel crash. The end result should be similar.
Sep
19
awarded  Revival
Jun
25
comment The best “performance per watt” (MFLOPS/W) for CPU and GPU for the moment
@osgx: it would be interesting to know. In worst case, it's 32 bit and the performance ratio of HD 7970 for single/double precision is 947.2/3788.8 giving 4118 MFLOPS/W for double precision. Still quite bit better than top 1 as of November 2011...
Jun
25
awarded  Editor
Jun
25
revised GIT pull times out?
Added info about git memory usage
Jun
25
answered GIT pull times out?