Friday, May 6, 2016

9 cách phát âm chữ A trong tiếng Anh

Chữ A trong tiếng Anh có cách phát âm khá phong phú, gây khó khăn không nhỏ cho người học khi mỗi lúc lại thấy nó được phát âm một kiểu.
Nhưng điều thú vị là 90% cách phát âm chữ A là tuân theo quy luật mà chúng ta hoàn toàn có thể nắm bắt được một cách dễ dàng.
Ví dụ bạn thấy A trong chữ "can" (có thể), "ban" (cấm), "pan" (cái chảo)… sẽ được phát âm là /æ/, nhưng chỉ cần thêm chữ E vào sau từ đó như "cane" (cái gậy), "bane" (nguyên nhân), "pane" (miếng kính) thì ngay lập tức cách phát âm chữ A sẽ thành /ei/. Đến đây ta mới thấy, tiếng Anh không “vô kỷ luật” như ta vẫn tưởng.
Thực chất chữ A được phát âm theo 9 cách, tùy thuộc khi chữ A được ghép với chữ nào trước và sau nó. Và chỉ cần bạn từng biết đến nó thì sẽ dễ dàng nhận ra và từ đó trở về sau, bạn sẽ thấy đọc những từ chứa chữ A dễ dàng và thú vị hơn rất nhiều. Và toàn bộ 26 chữ cái tiếng Anh từ A tới Z đều có những nguyên tắc phát âm dễ nhận ra, dễ tổng kết mà bạn hoàn toàn có thể học và nhớ được chúng.
Dưới đây là 9 cách phát âm chữ A trong tiếng Anh.
Chữ A thường được phát âm là /æ/
1. ant /ænt/ (n) con kiến
2. bag /bæg/ (n) cái túi
3. ban /bæn/ (v) cấm đoán
4. bat /bæt/ (n) con dơi
5. cat /kæt/ (n) con mèo
6. chat /tʃæt/ (v) nói chuyện phiếm, tán gẫu
7. clap /klæp/ (v) vỗ tay
8. dance /dænts/ (v) nhảy, khiêu vũ
9. fantastic /fænˈtæstɪk/ (a) tuyệt vời
10. gag /gæg/ (v) nói đùa
11. jazz /dʒæz/ (n) nhạc jazz
12. lap /læp/ (n) vạt áo, vạt váy
13. mad /mæd/ (adj) điên, tức giận
14. man /mæn/ (n) người đàn ông
15. map /mæp/ (n) bản đồ
16. mathmatics /ˌmæθˈmætɪks/ (n) môn toán
17. sad /sæd/ (adj) buồn
18. sandwich /ˈsænwɪdʒ/ (n) bánh sandwich
19. stand /stænd/ (v) đứng
20. tan /tæn/ (adj) màu rám nắng
Chữ A thường được phát âm là /eɪ/ khi nó đứng trước be, ce, ke, me, pe, te, se, ze
1. babe /beɪb/ (n) đứa trẻ
2. face /feɪs/ (n) mặt
3. lace /leɪs/ (n) dây buộc
4. bake /beɪk/ (v) nướng
5. cake /keɪk/ (n) bánh ngọt
6. fake /feɪk/ (adj) giả tạo
7. lake /leɪk/ (n) hồ
8. make /meɪk/ (v) làm, tạo ra
9. fame /feɪm/ (v) danh tiếng
10. game /geɪm/ (n) trò chơi
11. name /neɪm/ (n) tên
12. same /seɪm/ (adj) giống nhau
13. tape /teɪp/ (n) cuộn băng
14. date /deɪt/ (n) ngày
15. fate /feɪt/ (n) số phận, định mệnh
16. hate /heɪt/ (v) ghét
17. mate /meɪt/ (n) bạn
18. base /beɪs/ (n) cơ sở, nền móng
19. chase /tʃeɪs/ (v) đuổi bắt
20. gaze /geɪz/ (v) nhìn chằm chằm
Chữ A thường được đọc là /ɑː/ khi nó đứng trước chữ r và nó tạo thành tổ hợp /a:r/
1. bar /bɑːr/ (n) quán bar
2. car /kɑːr/ (n) xe ô tô
3. carp /kɑːrp/ (n) cá chép
4. cart /kɑːrt/ (n) xe đẩy
5. charge /tʃɑːrdʒ/ (n) phí, giá tiền
6. chart /tʃɑːrt/ (n) biểu đồ
7. large /lɑːrdʒ/ (a) rộng
8. Mars /mɑːrz/ (n) sao hỏa
9. star /stɑːr/ (n) ngôi sao
10. start /stɑːrt/ (v) bắt đầu
d. Chữ A thường được đọc là /ɔː/ khi nó đứng trước l, ll, lk
1. ball /bɔːl/ (n) quả bóng
2. call /kɔːl/ (v) gọi điện
3. chalk /tʃɔːk/ (n) viên phấn
4. fall /fɔːl/ (n) mùa thu
5. fallout /ˈfɔːlaʊt/ (n) bụi phóng xạ
6. hall /hɔːl/ (n) hội trường
7. install /ɪnˈstɔːl/ (v) lắp đặt
8. mall /mɔːl/ (n) trung tâm thương mại
9. talk /tɔːk/ (v) nói chuyện
10. tall /tɔːl/ (adj) cao
e. Chữ A cũng được đọc là /ɔː/ khi nó đứng trước u, w
1. auction /ˈɔːkʃən/ (n) buổi đấu giá
2. audience /ˈɔːdiənts/ (n) khán giả
3. audio /ˈɔːdiəʊ/ (n) âm thanh
4. audit /ˈɔːdɪt/ (n) kiểm toán
5. auditorium /ˌɔːdɪˈtɔːriəm/ (n) thính phòng
6. author /ˈɔːθər/ (n) tác giả
7. caught /kɔːt/ (v) bắt (quá khứ của catch)
8. law /lɔː/ (n) luật pháp
9. saw /sɔː/ (v) nhìn (quá khứ của see)
10. straw /strɔː/ (n) rơm
Tuy nhiên trong một số trường hợp khi A đứng trước u, w, nó sẽ được đọc là /æ/
1. aunt /ænt/ (n) cô, dì
2. laugh /læf/ (v) cười to
Hoặc đôi khi đứng trước u, w, nó sẽ được đọc là /əʊ/
gauche /gəʊʃ/ (adj) vụng về
Chữ A thường được đọc là /er/ khi nó đứng trước re, ir
1. chair /tʃer/ (n) cái ghế
2. dare /der/ (v) dám (làm gì)
3. despair /dɪˈsper/ (v) thất vọng
4. fair /fer/ (adj) công bằng
5. fare /fer/ (n) giá vé
6. hair /her/ (n) tóc
7. mare /mer/ (n) ngựa cái
8. repair /rɪˈper/ (v) sửa chữa
9. scare /sker/ (n) sự sợ hãi
10. square /skwer/ (n) quảng trường
11. stair /ster/ (n) cầu thang
12. stare /ster/ (v) nhìn chằm chằm
Chữ A thường được đọc là /ɪ/ khi nó đứng trước ge
1. advantage /ədˈvæntɪdʒ/ (n) lợi ích, lợi thế
2. manage /ˈmænɪdʒ/ (v) quản lý
3. marriage /ˈmerɪdʒ/ (n) sự kết hôn
4. message /ˈmesɪdʒ/ (n) tin nhắn
5. package /ˈpækɪdʒ/ (n) gói hàng, bưu kiện
6. passage /ˈpæsɪdʒ/ (n) đoạn văn
7. usage /ˈjuːsɪdʒ/ (n) cách sử dụng
8. village /ˈvɪlɪdʒ/ (n) ngôi làng
9. vintage /ˈvɪntɪdʒ/ (n) sự cổ điển
10. voyage /ˈvɔɪɪdʒ/ (n) chuyến du ngoạn trên biển
Exceptions (Ngoại lệ)
1. garage /gəˈrɑːʒ/ (n) ga ra để xe
2. massage /məˈsɑːdʒ/ (n) mát xa
Chữ A thường được đọc là /ə/ khi nó đứng đầu từ có hai âm tiết trở lên và âm tiết đầu tiên không mang trọng âm
1. abandon /əˈbændən/ (v) từ bỏ
2. abbreviation /əˌbriːviˈeɪʃən/ (n) bài tóm tắt, sự viết tắt
3. about /əˈbaʊt/ (adv) về
4. above /əˈbʌv/ (prep) ở trên
5. abroad /əˈbrɔːd/ (adv) ở nước ngoài
6. academy /əˈkædəmi/ (n) học viện, viện hàn lâm
7. accept /əkˈsept/ (v) chấp nhận
8. account /əˈkaʊnt/ (n) tài khoản
9. accuse /əˈkjuːz/ (v) buộc tội
10. achieve /əˈtʃiːv/ (v) đạt được
11. addition /əˈdɪʃən/ (n) sự thêm vào
12. ahead /əˈhed/ (a) ở phía trước
13. align /əˈlaɪn/ (v) sắp cho thẳng hàng
14. appealing /əˈpiːlɪŋ/ (a) hấp dẫn
15. appointment /əˈpɔɪntmənt/ (n) sự hẹn gặp
16. aside /əˈsaɪd/ (adv) về một bên, sang một bên
17. assignment /əˈsaɪnmənt/ (n) việc được giao
18. attach /əˈtætʃ/ (v) gắn liền
19. attack /əˈtæk/ (v) tấn công
20. attract /əˈtrækt/ (v) hấp dẫn
Chữ A được đọc là /eɪ/ khi nó đứng trước y, i.
1. bait /beɪt/ (v) mắc mồi
2. chain /tʃeɪn/ (n) chuỗi, dãy
3. daily /ˈdeɪli/ (adj) hàng ngày
4. lain /leɪn/ (v-pp) nằm (quá khứ của lie)
5. lay /leɪ/ (v) đặt, để
6. main /meɪn/ (adj) chính
7. Monday /ˈmʌndeɪ/ (n) thứ Hai
8. nail /neɪl/ (n) móng tay
9. pain /peɪn/ (n) sự đau đớn
10. paint /peɪnt/ (v) vẽ
11. pray /preɪ/ (v) cầu nguyện
12. rain /reɪn/ (v) mưa
13. remain /rɪˈmeɪn/ (v) còn lại
14. train /treɪn/ (n) tàu hỏa
15. trait /treɪt/ (n) đặc điểm
16. tray /treɪ/(n) cái khay
17. Tuesday /ˈtuːzdeɪ/ (n) thứ Ba
http://vnexpress.net/tin-tuc/giao-duc/hoc-tieng-anh/9-cach-phat-am-chu-a-trong-tieng-anh-3397017.html

Thursday, February 18, 2016

Optimizing HTTPS on Nginx

Step 1: Connection credentials caching

Almost all of the overhead with SSL/TLS is during the initial connection setup, so by caching the connection parameters for the session, will drastically improve subsequent requests (or in the case of SPDY, requests after the connection have closed – like a new page load).
All we need is these two lines:
ssl_session_cache shared:SSL:20m;
ssl_session_timeout 180m;
This will create a cache shared between all worker processes. The cache size is specified in bytes (in this example: 20 MB). According to the Nginx documentation can 1MB store about 4000 sessions, so for this example, we can store about 80000 sessions, and we will store them for 180 minutes. If you expect more traffic, increase the cache size accordingly.
I usually don’t recommend lowering the ssl_session_timeout to below 10 minutes, but if your resources are sparse and your analytics tells you otherwise, go ahead. Nginx is supposedly smart enough to not use up all your RAM on session cache, even if you set this value too high, anyways.

Step 2: Disable SSL

– Say, what?
Techically SSL (Secure Sockets Layer) is actually superseded by TLS (Transport Layer Security). I guess it is just out of old habit and convention we still talk about SSL.
SSL contains several weaknesses, there have been various attacks on implementations and it is vulnerable to certain protocol downgrade attacks.
The only browser or library still known to mankind that doesn’t support TLS is of course IE 6. Since that browser is dead (should be, there is not one single excuse in the world), we can safely disable SSL.
The most recent version of TLS is 1.2, but there are still modern browsers and libraries that use TLS 1.0.
So, we’ll add this line to our config then:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
That was easy, now on to something more complicated (which I made easy for you):

Step 3: Optimizing the cipher suites

The cipher suites are the hard core of SSL/TLS. This is where the encryption happens, and I will really not go into any of that here. All you need to know is that there are very secure suits, there are unsafe suites and if you thought browser compatibility issues were big on the front-end, this is a whole new ballgame. Researching what cipher suites to use, what not to use and in what order takes a huge amount of time to research. Luckily for you, I’ve done it.
First you need to configure Nginx to tell the client that we have a preferred order of available cipher suites:
ssl_prefer_server_ciphers on;
Next we have to provide the actual list of ciphers:
ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!ADH:!AECDH:!MD5
All of these suites use forward secrecy, and the fast cipher AES is the preferred one. You’ll lose support for all versions of Internet Explorer on Windows XP. Who cares?

Step 4: Generate DH parameters

If you want an explanation, read the DHE handshake and dhparam part on the Mozilla wiki. I’m not doing that here.
Create the DH parameters file with 2048 bit long safe prime:
$ openssl dhparam 2048 -out /etc/nginx/cert/dhparam.pem
And add it to your Nginx config:
ssl_dhparam /etc/nginx/cert/dhparam.pem;
Note that Java 6 doesn’t support DHParams with primes longer than 1024 bit. If that really matters to you, something is a bit wrong somewhere.

Step 5: Enable OCSP stapling

Online Certificate Status Protocol (OCSP) is a protocol for checking the revocation status of the presented certificate. When a proper browser is presented a certificate, it will contact the issuer of that certificate to check that it hasn’t been revoked. This, of course, adds overhead to the connection initialization and also presents a privacy issue involving a 3rd party.
Enter OCSP stapling:
The web server can at regular intervals, contact the certificate authority’s OCSP server to get a signed response and staple it on to the handshake when the connection is set up. This provides for a much more efficient connection initialization and keeps the 3rd party out of the way.
To make sure the response from the CA is not tampered with, we also set up Nginx to verify response using the CA’s root and the intermediate certificates, similar to what we did when we first to enable HTTPS on Nginx (remember the order here is important):
cat AddTrustExternalCARoot.crt PositiveSSLCA2.crt > trustchain.crt
I am using a Positive SSL certificate so AddTrustExternalCARoot.crt is the root certificate and PositiveSSLCA2.crt is the intermediate. Replace with your issuer’s certificates accordingly. If you don’t have your CA’s root certificate, it should be available from their web site or you have to contact them.
Next, enable stapling and verification:
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/nginx/cert/trustchain.crt;
resolver 8.8.8.8 8.8.4.4;
You also need to provide one or more DNS servers for Nginx to use. Here I’m using Google’s public DNS servers, but you are free to use whichever works for you (if you don’t like Google or are worried about privacy, OpenDNS might be a good option for you). The resolvers are used in a round-robin fashion, so make sure all of them are good ones.

Step 6: Strict Transport Security

Even though you already should have made all regular HTTP requests redirect to HTTPS when you enabled SPDY, you do want to enable Strict Transport Security (STS or HSTS) to avoid having to do those redirects. STS is a nifty little feature enabled in modern browsers. All the server does is to set the response header Strict-Transport-Security with a max-age value.
If the browser have seen this header, it will not try to contact the server over regular HTTP again for the given time period. It will actually interpret all requests to this hostname as HTTPS, no matter what. You can even tell the browser to enable the same behaviour on all subdomains. It will make MITM attacks with SSLstrip harder to do.
All you need is this little line in your config:
add_header Strict-Transport-Security "max-age=31536000" always;
The max-age is set in seconds. 31536000 seconds is equivalent to 365 days.
If you want HSTS to apply to all subdomains, you use this config instead:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
That’s it.

Wrap-up

I know how annoying it is to follow guides like this. You just want the config, right?
Well, here it is:
server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2;

        ssl_certificate /etc/nginx/cert/bjornjohansen.no.certchain.crt;
        ssl_certificate_key /etc/nginx/cert/bjornjohansen.no.key;

        ssl_session_cache shared:SSL:20m;
        ssl_session_timeout 60m;

        ssl_prefer_server_ciphers on;

        ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!ADH:!AECDH:!MD5;

        ssl_dhparam /etc/nginx/cert/dhparam.pem;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

        ssl_stapling on;
        ssl_stapling_verify on;
        ssl_trusted_certificate /etc/nginx/cert/trustchain.crt;
        resolver 8.8.8.8 8.8.4.4;

        #add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
        add_header Strict-Transport-Security "max-age=31536000" always;

        # Rest of your regular config goes here:
        # […]
}
Now that you’re done, go check your site on Qualsys SSL Labs test. You should have an «A+» rating.
Have fun, be safe, encrypt everything!
BTW: Now that you have HTTPS properly set up, it is time to look at HTTP Public Key Pinning (HPKP).

Source https://bjornjohansen.no/optimizing-https-nginx

Monday, January 11, 2016

Mẹo tính toán cực hay mà sách giáo khoa chưa bao giờ dạy bạn



1. Đổi từ độ F sang độ C và ngược lại (con số tương đối)
 
mẹo tính toán, toán học, học toán

2. Bí quyết đơn giản với các phép nhân lớn
mẹo tính toán, toán học, học toán

3. Bí quyết khi nhân với 11
mẹo tính toán, toán học, học toán

4. Bí quyết để nhớ được giá trị của số Pi
Bạn có thể nhớ được giá trị của số Pi bằng cách đếm các chữ cái trong câu: “May I have a large container of coffee” (3,1415926).
mẹo tính toán, toán học, học toán

5. Mẹo tính cộng trừ bằng phương pháp hình con bướm
mẹo tính toán, toán học, học toán

6. Bảng cửu chương nhân 9 có qui luật ngược chiều
mẹo tính toán, toán học, học toán

7. Cách nhân của học sinh Nhật Bản
mẹo tính toán, toán học, học toán

8. Cách tính phân số
mẹo tính toán, toán học, học toán

(sưu tầm)

Monday, December 28, 2015

Vì sao trẻ vừa lọt lòng không nên cho tắm ngay?

(ĐSPL) - Ở những giờ đầu tiên sau khi sinh, không nên tắm ngay cho trẻ sơ sinh, bởi nó sẽ ảnh hưởng đến sức đề kháng của trẻ và một số những hệ lụy khác.
Thông thường một đứa trẻ sinh ra, việc làm đầu tiên là bé được tắm rửa sạch sẽ. Nhưng hiện nay, theo xu thế sinh nở mới nhất, trẻ sinh ra không nên tắm luôn mà để đến vài ngày sau. Điều này giống cũng như việc cắt dây rốn muộn.
Vì sao trẻ vừa lọt lòng không nên cho tắm ngay? - Ảnh 1

Nên bỏ qua lần tắm đầu tiên cho trẻ vừa chào đời (trong khoảng 24h sau sinh). Ảnh minh họa.

Dưới đây là những lý do bạn không nên tắm cho trẻ sơ sinh quá sớm trong những giờ đầu tiên mới sinh sau.

Duy trì lớp da bảo vệ tự nhiên cho bé

Được biết, khi ở trong bụng mẹ, bé được bao bọc bởi nước ối. Điều này khiến da bé được phủ một lớp màu trắng để bảo vệ bé khỏi môi trường ngoài, lớp màu trắng này được gọi là vernix. Đó là một trong những lý do bạn không nên tắm ngay cho trẻ sơ sinh.
Giúp da bé thêm khỏe mạnh và dẻo dai
Theo các nghiên cứu, chất venix có tính miễn dịch cao và đây là lợi thế rất lớn của em bé mới sinh. Nó đồng thời là kem dưỡng ẩm giữ cho làn da bé mềm mại và dẻo dai cũng ngăn vi khuẩn xâm nhập.
Đây là nguyên nhân giải thích tại sao trong khoảng 24 giờ sau lần tắm đầu tiên của bé, có những lớp màu trắng đục bong ra. Toàn bộ cơ thể của bé sẽ được lột sạch lớp vernix (nhất là ở trên bàn tay và bàn chân).

Nước ối có vai trò cung cấp vitamin K cho trẻ

Sau khi sinh cơ thể trẻ vẫn còn dính lớp nước ối. Trong nước ối có chứa nhiều loại vi khuẩn có lợi giúp sản xuất vitamin K cung cấp cho trẻ. Vì vậy khi trẻ mới sinh ra, mẹ không nên tắm luôn mà hãy để lại lớp nước ối còn dính trên người bé.
Tăng sự liên kết giữa mẹ và bé
Khi bé chào đời, cần được gần gũi với mẹ, gần nguồn thức ăn nơi bé có thể nghe, ngửi hơi ấm của người mẹ. Vì vậy, nếu tắm cho trẻ quá sớm có thể làm gián đoạn quá trình em bé nhận biết mẹ, bé cảm thấy mất an toàn và có thể ảnh hưởng đến những cữ bú quan trọng đầu tiên.
Vì sao trẻ vừa lọt lòng không nên cho tắm ngay? - Ảnh 2
Ảnh minh họa.

Giúp ổn định nhiệt độ cơ thể

Trẻ vừa mới lọt lòng mẹ đang tìm cách duy trì nhiệt độ cơ thể mình. Nếu cho bé tắm quá sớm, có thể làm cho bé chới với với nhiệt độ mới. Vì điều này, có một số trường hợp, em bé sơ sinh cần đặt dưới đèn nhiệt để lấy lại nhiệt độ sau khi tắm.
Thay vào đó, hãy trì hoãn thời gian tắm, để bé tiếp xúc với mẹ thời gian vừa đủ và quen với nhiệt độ bên ngoài.

Tránh tăng đường huyết và hoóc-môn stress

Khi sinh ra, trẻ đã bị tách khỏi mẹ để đi tắm, trẻ có thể sẽ khóc. Điều này làm cơ thể sản sinh một loại hoóc-môn gây stress để đáp ứng tình hình thực tế. Việc cơ thể phải làm việc căng thẳng hơn khi bé đi tắm cũng khiến bé dễ bị tuột đường huyết. Khi được ở bên mẹ đủ lâu, các cơ quan trong cơ thể bé có khuynh hướng thực hiện tốt chức năng của chúng hơn.
Một số lưu ý khác:
Tốt nhất, cha mẹ nên bỏ qua lần tắm đầu tiên từ sau khi con chào đời (trong khoảng sau khi sinh). Từ lần tắm thứ 2, mẹ hãy tắm chung cùng bé giúp bé cảm thấy rất an toàn khi không bị tách khỏi mẹ. Mẹ nên ôm con cùng ngồi trong bồn tắm, chớ nên thả bé một mình sẽ gây cho bé sự chới với và đơn độc.
Khi tắm, lưu ý sử dụng găng tay để ngăn chặn những vi trùng, vi khuẩn ở môi trường bệnh viện. Một nghiên cứu cho thấy, sử dụng găng tay với trẻ sơ sinh ngay cả khi tắm có tỷ lệ nhiễm trùng rất ít.

http://www.doisongphapluat.com/doi-song/suc-khoe-lam-dep/vi-sao-tre-vua-lot-long-khong-nen-cho-tam-ngay-a126435.html

Friday, December 25, 2015

Tuning Apache2 prefork MaxClients ServerLimit

Apache prefork settings, per apache performance tuning guidelines
quote:
The single biggest hardware issue affecting webserver performance is RAM.
A webserver should never ever have to swap, as swapping increases the latency
of each request beyond a point that users consider "fast enough". 
This causes users to hit stop and reload, further increasing the load.
You can, and should, control the MaxClients setting so that your server does
not spawn so many children it starts swapping. This procedure for doing this
is simple: determine the size of your average Apache process, by looking at
your process list via a tool such as top, and divide this into your total 
available memory, leaving some room for other processes.
you should set it up like this based on your input to:
  • Total Memory : 128 GB 
  • -10% memory for everything except apache: 115 GB
  • Now we need to figure out how much single apache process is using. 
To calculate this you can use following script :
pgrep apache2 | xargs -n1 -I{} cat /proc/{}/smaps | \
  awk '{if ($0 ~ /stack/) {pids+=1} else if ($0 ~/^Shared_/) 
    {shared+=$2} else if ($0 ~ /^Pss:/) {priv+=$2}} END {
      printf "%.2f MB\n",(priv+shared/(pids*pids))/1024}'
This is best estimate of how much single apache process is using memory while trying to proportionally dividing shared usage per number of active apache processes and adding it on top of Pss (proportional set size)
Finally you divide 115 GB with this figure and you get MaxClients/ServerLimit. From here you can relatively calculate other figures like 
  • StartServers 30% of MaxClients
  • MinSpareServers 5% of MaxClients
  • MaxSpareServers 10% of MaxClients
  • ServerLimit == MaxClients
  • MaxRequestsPerChild 10000 (as conservative alternative to address possible problem with memory leaky apps)
http://serverfault.com/questions/644622/tuning-apache2-prefork-maxclients-serverlimit

Saturday, October 10, 2015

delete client connections in redis using lua

Here are Lua script run in redis 2.6

>eval " local str_tmp = redis.call('client', 'list') for k,v in string.gmatch(str_tmp, '(addr)=(IP:%d+)') do redis.call('client', 'kill', v) end return" 0
>script flush