From b4a49d0186a89c7a524e5463f4df492956a78d1d Mon Sep 17 00:00:00 2001 From: Alan Orth Date: Sat, 25 Nov 2017 10:39:20 +0200 Subject: [PATCH] Add notes for 2017-11-24 --- content/post/2017-11.md | 21 +++++++++++ public/2017-11/index.html | 34 ++++++++++++++++-- public/2017/11/postgres-connections-month.png | Bin 0 -> 9506 bytes public/2017/11/postgres-connections-week.png | Bin 0 -> 8356 bytes public/sitemap.xml | 10 +++--- static/2017/11/postgres-connections-month.png | Bin 0 -> 9506 bytes static/2017/11/postgres-connections-week.png | Bin 0 -> 8356 bytes 7 files changed, 57 insertions(+), 8 deletions(-) create mode 100644 public/2017/11/postgres-connections-month.png create mode 100644 public/2017/11/postgres-connections-week.png create mode 100644 static/2017/11/postgres-connections-month.png create mode 100644 static/2017/11/postgres-connections-week.png diff --git a/content/post/2017-11.md b/content/post/2017-11.md index 6f17dfbe1..1ec7f75c8 100644 --- a/content/post/2017-11.md +++ b/content/post/2017-11.md @@ -830,3 +830,24 @@ $ grep 70.32.83.92 dspace.log.2017-11-23 | grep -o -E 'session_id=[A-Z0-9]{32}' - I came across some interesting PostgreSQL tuning advice for SSDs: https://amplitude.engineering/how-a-single-postgresql-config-change-improved-slow-query-performance-by-50x-85593b8991b0 - Apparently setting `random_page_cost` to 1 is "common" advice for systems running PostgreSQL on SSD (the default is 4) - So I deployed this on DSpace Test and will check the Munin PostgreSQL graphs in a few days to see if anything changes + +## 2017-11-24 + +- It's too early to tell for sure, but after I made the `random_page_cost` change on DSpace Test's PostgreSQL yesterday the number of connections dropped drastically: + +![PostgreSQL connections after tweak (week)](/cgspace-notes/2017/11/postgres-connections-week.png) + +- There have been other temporary drops before, but if I look at the past month and actually the whole year, the trend is that connections are four or five times higher on average: + +![PostgreSQL connections after tweak (month)](/cgspace-notes/2017/11/postgres-connections-month.png) + +- I just realized that we're not logging access requests to other vhosts on CGSpace, so it's possible I have no idea that we're getting slammed at 4AM on another domain that we're just silently redirecting to cgspace.cgiar.org +- I've enabled logging on the CGIAR Library on CGSpace so I can check to see if there are many requests there +- In just a few seconds I already see a dozen requests from Googlebot (of course they get HTTP 301 redirects to cgspace.cgiar.org) +- I also noticed that CGNET appears to be monitoring the old domain every few minutes: + +``` +192.156.137.184 - - [24/Nov/2017:20:33:58 +0000] "HEAD / HTTP/1.1" 301 0 "-" "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2" +``` + +- I should probably tell CGIAR people to have CGNET stop that diff --git a/public/2017-11/index.html b/public/2017-11/index.html index 681673dd8..e8a86b33c 100644 --- a/public/2017-11/index.html +++ b/public/2017-11/index.html @@ -38,7 +38,7 @@ COPY 54701 - + @@ -86,9 +86,9 @@ COPY 54701 "@type": "BlogPosting", "headline": "November, 2017", "url": "https://alanorth.github.io/cgspace-notes/2017-11/", - "wordCount": "4849", + "wordCount": "5032", "datePublished": "2017-11-02T09:37:54+02:00", - "dateModified": "2017-11-23T17:18:45+02:00", + "dateModified": "2017-11-24T00:59:11+02:00", "author": { "@type": "Person", "name": "Alan Orth" @@ -1080,6 +1080,34 @@ $ grep -c com.atmire.utils.UpdateSolrStatsMetadata dspace.log.2017-11-19
  • So I deployed this on DSpace Test and will check the Munin PostgreSQL graphs in a few days to see if anything changes
  • +

    2017-11-24

    + + + +

    PostgreSQL connections after tweak (week)

    + + + +

    PostgreSQL connections after tweak (month)

    + + + +
    192.156.137.184 - - [24/Nov/2017:20:33:58 +0000] "HEAD / HTTP/1.1" 301 0 "-" "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2"
    +
    + + + diff --git a/public/2017/11/postgres-connections-month.png b/public/2017/11/postgres-connections-month.png new file mode 100644 index 0000000000000000000000000000000000000000..a7e533174525bb73e7c083ba30f07d712b473656 GIT binary patch literal 9506 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 literal 0 HcmV?d00001 diff --git a/public/2017/11/postgres-connections-week.png b/public/2017/11/postgres-connections-week.png new file mode 100644 index 0000000000000000000000000000000000000000..626b3f204faeb821b499207e33f7cb4ac3217bb4 GIT binary patch literal 8356 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 https://alanorth.github.io/cgspace-notes/2017-11/ - 2017-11-23T17:18:45+02:00 + 2017-11-24T00:59:11+02:00 @@ -134,7 +134,7 @@ https://alanorth.github.io/cgspace-notes/ - 2017-11-23T17:18:45+02:00 + 2017-11-24T00:59:11+02:00 0 @@ -145,7 +145,7 @@ https://alanorth.github.io/cgspace-notes/tags/notes/ - 2017-11-23T17:18:45+02:00 + 2017-11-24T00:59:11+02:00 0 @@ -157,13 +157,13 @@ https://alanorth.github.io/cgspace-notes/post/ - 2017-11-23T17:18:45+02:00 + 2017-11-24T00:59:11+02:00 0 https://alanorth.github.io/cgspace-notes/tags/ - 2017-11-23T17:18:45+02:00 + 2017-11-24T00:59:11+02:00 0 diff --git a/static/2017/11/postgres-connections-month.png b/static/2017/11/postgres-connections-month.png new file mode 100644 index 0000000000000000000000000000000000000000..a7e533174525bb73e7c083ba30f07d712b473656 GIT binary patch literal 9506 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 literal 0 HcmV?d00001 diff --git a/static/2017/11/postgres-connections-week.png b/static/2017/11/postgres-connections-week.png new file mode 100644 index 0000000000000000000000000000000000000000..626b3f204faeb821b499207e33f7cb4ac3217bb4 GIT binary patch literal 8356 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